欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot集成 Swagger2的使用

程序员文章站 2022-07-02 22:07:41
...

1.jar包
2.配置
3.controller

从配置说起

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        //Swagger中添加请求头
        ParameterBuilder userNamePar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        userNamePar.name("x_user_name").description("登陆用户名!!!")
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的x_user_name参数非必填,传空也可以
        pars.add(userNamePar.build());    //根据每个方法名也知道当前方法在设置什么参数

        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.××××.controller"))
                .paths(PathSelectors.any()).build()
                .globalOperationParameters(pars);
    }

    @SuppressWarnings("deprecation")
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Demo RESTful APIs")
                .description("Demo RESTful APIs")
                .termsOfServiceUrl("")
                .contact("").version("0.0.1-SNAPSHOT").build();
    }

}

controller


@CrossOrigin(origins = "*")	//解决跨域
@RefreshScope
@RestController
@Api(tags = {"Module"})
@RequestMapping("/Manager/Module")
public class ModuleManager {

    private Logger logger = LoggerFactory.getLogger(ModuleManager.class);

    @Autowired
    private SysModuleService sysModuleService;

    @ApiOperation(value="获取父级模块",notes="通过该接口获取父级模块,获取PId=0的模块")
    @GetMapping("/Parents")
//    public ResponseResult getModuleParents(@PathVariable Integer page_no, @PathVariable Integer page_size) {
    public ResponseResult getModuleParents
            (@RequestParam(value = "page_no",required = false) Integer page_no, @RequestParam(value = "page_size",required = false)
                    Integer page_size) {
        logger.info("getModuleParents()");
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String username = request.getHeader("x_user_name");
        //校验参数合法性
        if(username == null){
            //logger.info("请先登录系统!!!");
            ExceptionCast.cast(CommonCode.UNAUTHORIZED);
        }
        if (page_no==null || page_size==null || page_no<1 || page_size < 0){
            return new ResponseResult(CommonCode.INVALID_PARAM);
        }
        ResponseResult moduleParentList = sysModuleService.getModuleParents(page_no, page_size);
        return moduleParentList;
    }
    }

参考博客

这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!
欢迎加入技术群聊!
springboot集成 Swagger2的使用