source

Swagger API 작업 순서 지정

ittop 2023. 10. 4. 22:57
반응형

Swagger API 작업 순서 지정

DELETE, GET, POST, PUT 등 방법별로 작업을 알파벳 순으로 정렬하려면 어떻게 해야 합니까?

나는 이 게시물을 읽었지만 HTML로 되어 있지만 나의 경우 스웨거를 스프링부트에 통합하여 Docket을 만들 때 분류해야 합니다.

Swagger UI에서 API 메서드 정렬

그런데 이 방법이 눈에 들어왔습니다.operationOrdering()Docket에서 하지만 아직도 작동이 안 됩니다.

저는 Springfox 버전 2.8.0을 사용하고 있으며 문서화된 API에 대해 다음과 같은 코드 스니펫이 작동합니다.

@Bean
UiConfiguration uiConfig() {
    return UiConfigurationBuilder
            .builder()
            .operationsSorter(OperationsSorter.METHOD)

            ...

            .build();
}

두 가지 가능한 값이 있습니다.

  • OperationsSorter.ALPHA- 경로별로 알파벳 순으로 API 끝점 정렬
  • OperationsSorter.METHOD- API 끝점을 메서드별 알파벳순으로 정렬합니다.

OperationsSorter.METHOD당신이 찾는 것입니다.


사용에 의한 대안operationOrdering():

@Bean
public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build()

        ...

        .operationOrdering(new Ordering<Operation>() {
            @Override
            public int compare(Operation left, Operation right) {
                return left.getMethod().name().compareTo(right.getMethod().name());
            }
        })
}

그러나 Springfox의 버그로 인해 작동하지 않습니다(Operation Ordering이 작동하지 않음).

스프링 부트 2.4열기 포함API application.properties의 다음 속성이 관심 대상이 될 수 있습니다.

  • springdoc.swagger-ui.tagsSorter=alpha
  • springdoc.swager-ui.operations-sorter=alpha
@Bean
public UiConfiguration uiConfig() {
    return UiConfigurationBuilder
            .builder()
            .operationsSorter(OperationsSorter.METHOD)
            .build();
}

저는 이 정도면 돼요.저는 Spring Boot 2.2.0을 사용하고 있습니다.M6, 스웨거 UI 2.9.2

springdoc.swagger-ui.operations-sorter작동하지 않음v3/api-docs.

가나다순으로 정렬하는 경우v3/api-docs사용:

springdoc.writer-with-order-by-keys=true

application.properties 파일에 추가합니다.

springdoc.swagger-ui.operationsSorter=method
springdoc.swagger-ui.tagsSorter=alpha

결과:

언급URL : https://stackoverflow.com/questions/41801387/swagger-api-operations-ordering

반응형