brw*_*dev 5 spring swagger swagger-ui spring-boot
目前,当我正在测试GET的 Swagger UI 时请求(将“id”路径变量绑定到数据对象)时,“id”字段的数据类型是 Model,而不是 Long。
例如,这是 RestController 中的方法:
@RequestMapping(value = "/{id}", method = GET)
public AwardVO getAwardById(@PathVariable("id") Award award) {
LOG.info("inside the get award method: "+award);
if (award == null) {
throw new AwardNotFoundException();
}
return new AwardVO(award);
}
Run Code Online (Sandbox Code Playgroud)
这是生成的文档:
因此,当我将 Long 传递到输入字段时,我没有收到所需的记录。Swagger 是否支持这种类型的绑定,或者我是否只需要查找记录并将 PathVariable 作为 Long 传递?
Swagger版本:编译“com.mangofactory:swagger-springmvc:0.9.5”
Swagger配置:
@Configuration
@EnableSwagger
public class SwaggerConfig extends WebMvcConfigurerAdapter {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(
apiInfo())
.genericModelSubstitutes(ResponseEntity.class)
.includePatterns("/v1/.*", "/register/.*");
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo("API", "API",
"API terms of service", "email@gmail.com",
"API Licence Type", "API License URL");
return apiInfo;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
@PathVariable
如果您替换为,它似乎应该按预期工作 @ModelAttribute
。
为了回答你的问题,是的,它确实支持 @PathVariable
,但仅支持原语或字符串。
归档时间: |
|
查看次数: |
6491 次 |
最近记录: |