Pul*_*kit 3 java spring spring-mvc swagger swagger-2.0
我是Swagger的新手,并且已经使用spring mvc实现了Swagger UI,我想在生产/现场环境中禁用UI.我正在努力解决这个问题.
这就是我正在使用的
SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
}
Run Code Online (Sandbox Code Playgroud)
RestController.java
@RestController
@Api(value="city", description="Operations pertaining to City Data")
@RequestMapping(value="/v1/city")
public class RestController {
@ApiOperation(value = "View city by stateId or stateName")
@RequestMapping(value="/search",method=RequestMethod.POST)
public ResponseEntity<Object> getCityBystateId(@RequestBody StateDto stateDto,Model model){
}
}
Run Code Online (Sandbox Code Playgroud)
查看Spring的配置文件机制,它允许您在不同的环境中注册不同的bean
当你根据doc引导它时,你可以在类级别注释你的swagger配置类,例如@Profile("dev"),从而为你选择的环境启用swagger配置
@Configuration
@EnableSwagger2
@Profile("dev")
public class SwaggerConfig {
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用反向代理拒绝在生产环境中访问Swagger Api.
在这种情况下,您的生产安装与开发/测试环境完全相同(然后更符合DevOps方法),您可以继续使用内部调用访问Swagger API.
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |