Abd*_*man 1 spring swagger-ui spring-boot swagger-2.0
当我用弹簧靴将swagger2更新为swagger2时,它停止显示pageable应该显示的类型的 正确参数page,size而是开始显示pageSize,pageNumber而在其余方面不正确。
我没有手动更改任何内容,但是由于某种原因,它显示了错误的参数名称。
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Rest API")
.securitySchemes(Collections.singletonList(new BasicAuth(BASIC_AUTH)))
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.paths(s -> oneOf(
"/some/**",
"/search-controller/**").test(s))
.build();
Run Code Online (Sandbox Code Playgroud)
Pom是
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
控制器如下所示
@RequestMapping(method = RequestMethod.GET)
public HttpEntity<?> findAll(@RequestParam(value = "countryIsoAlpha2", required = false) final String countryKey, final Pageable pageable){
}
Run Code Online (Sandbox Code Playgroud)
小智 5
https://github.com/springfox/springfox/issues/755#issuecomment-393378205
下面是创建规则的示例,该规则自动提供用于配置Pageable类型的约定。
@Configuration
public class SwaggerConfig {
@Bean
public AlternateTypeRuleConvention pageableConvention(
final TypeResolver resolver) {
return new AlternateTypeRuleConvention() {
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}
@Override
public List<AlternateTypeRule> rules() {
return Arrays.asList(
newRule(resolver.resolve(Pageable.class), resolver.resolve(pageableMixin()))
);
}
};
}
private Type pageableMixin() {
return new AlternateTypeBuilder()
.fullyQualifiedClassName(
String.format("%s.generated.%s",
Pageable.class.getPackage().getName(),
Pageable.class.getSimpleName()))
.withProperties(Arrays.asList(
property(Integer.class, "page"),
property(Integer.class, "size"),
property(String.class, "sort")
))
.build();
}
private AlternateTypePropertyBuilder property(Class<?> type, String name) {
return new AlternateTypePropertyBuilder()
.withName(name)
.withType(type)
.withCanRead(true)
.withCanWrite(true);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 1
升级到 springfox 2.9.0 后,我在不更改任何代码的情况下看到了相同的行为。当 springfox 在 Spring 控制器方法中遇到 Pageable 接口作为请求参数时,它似乎正在将 pageSize、pageNumber 和 offset 添加到 Swagger 文档中。
| 归档时间: |
|
| 查看次数: |
1430 次 |
| 最近记录: |