Trong Swagger, @Api
Chú thích của description
không còn được dùng nữa.Mô tả của chú thích Api không được chấp nhận
Có cách nào mới hơn để cung cấp mô tả không?
Trong Swagger, @Api
Chú thích của description
không còn được dùng nữa.Mô tả của chú thích Api không được chấp nhận
Có cách nào mới hơn để cung cấp mô tả không?
Lý do tại sao nó không được chấp nhận là các phiên bản Swagger trước đó (1.x) đã sử dụng chú thích mô tả @Api
cho các hoạt động nhóm.
Trong đặc tả Swagger 2.0, khái niệm tags
được tạo và tạo cơ chế nhóm linh hoạt hơn. Để tuân thủ API, trường description
được giữ lại để các bản nâng cấp trở nên dễ dàng, nhưng cách chính xác để thêm mô tả là thuộc tính tags
, nên tham chiếu chú thích @Tag
. @Tag
cho phép bạn cung cấp mô tả và cả các liên kết bên ngoài, v.v.
Tôi đã tìm thấy giải pháp cho ứng dụng Khởi động mùa xuân của mình. Thứ nhất, sử dụng phương pháp tags
cho chỉ định các định nghĩa thẻ trong Docket
của bạn:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage("my.package")).build()
.apiInfo(apiInfo())
.tags(new Tag("tag1", "Tag 1 description."),
new Tag("tag2", "Tag 2 description."),
new Tag("tag2", "Tag 3 description."));
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("My API").version("1.0.0").build();
}
}
Sau đó, trong RestController
chỉ cần thêm chú thích @Api
với một (hoặc nhiều) của thẻ của bạn. Ví dụ:
@Api(tags = { "tag1" })
@RestController
@RequestMapping("tag1Domain")
public class Tag1RestController { ... }
Bạn đề cập đến phiên bản nào? – Jens
https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X hoặc có thể http://docs.swagger.io/swagger-core/current/apidocs/index.html?io/ swagger/annotations/Api.html có thể giúp –
@Jens Tôi đang sử dụng phiên bản 2.4.0 (springfox) –