gpt4 book ai didi

json - swagger api如何添加常用参数

转载 作者:行者123 更新时间:2023-12-04 18:03:33 26 4
gpt4 key购买 nike

我的项目有很多带有此类注释的 Controller

    @ApiOperation(value = "description")
@RequestMapping(value = "/{param1}", method = RequestMethod.POST)
public @ResponseBody Response<Map<String, Object>> someMethod(
@ApiParam(name = "param1", value = "about param1", required = true)
@PathVariable("param1") int param1,

@ApiParam(name = "param2", value = "about param2", required = false, defaultValue = "default)
@RequestParam(value = "param2", defaultValue = "default") String param2
){
// ..
}

几乎每个方法都接受公共(public)参数,如 access_token .如果我们在所有方法中添加关于它的描述,这将是不好的解决方案。也许还有其他解决方案?

我发现我可以定义 json像这里这样配置的文件 https://github.com/OAI/OpenAPI-Specification/blob/master/fixtures/v2.0/json/resources/reusableParameters.json ,但据我了解,我可以使用 json 或注释。或者也许我可以以某种方式将它们结合起来?

最佳答案

如果有人会搜索这样的东西。
我找到了下一个解决方案。在项目中,我们像这样配置招摇

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.globalOperationParameters(commonParameters())
.apiInfo(apiInfo());
}

private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo(/* params here */);
return apiInfo;
}


private List<Parameter> commonParameters(){
List<Parameter> parameters = new ArrayList<Parameter>();
parameters.add(new ParameterBuilder()
.name("access_token")
.description("token for authorization")
.modelRef(new ModelRef("string"))
.parameterType("query")
.required(false)
.build());

return parameters;
}
}

您应该调用 globalOperationParameters方法并在那里传递全局参数列表(我在 commonParameters 方法中创建它)。

我在这里找到的解决方案 http://springfox.github.io/springfox/docs/current/

就这样。

关于json - swagger api如何添加常用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474715/

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