gpt4 book ai didi

spring - Swagger UI 是否支持@PathVariable 绑定(bind)?

转载 作者:行者123 更新时间:2023-12-01 14:24:40 24 4
gpt4 key购买 nike

目前,当我为 测试 Swagger UI 时获取 将“id”路径变量绑定(bind)到数据对象的请求,“id”字段的dataType是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);
}

这是生成的文档:

swagger ui example

因此,当我将 Long 传递给输入字段时,我没有收到所需的记录。 Swagger 是否支持这种类型的绑定(bind),还是我只需要查找记录并将 PathVariable 作为 Long 传递?

Swagger 版本:编译“com.mangofactory:swagger-springmvc:0.9.5”

SwaggerConfig:
@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();
}
}

谢谢。

最佳答案

如果您替换 @PathVariable,它似乎应该按预期工作与 @ModelAttribute .

要回答您的问题,是的,它确实支持 @PathVariable ,但只有原语或字符串。

关于spring - Swagger UI 是否支持@PathVariable 绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com