spring boot 整合swagger-ui

這裏記錄一下簡單的swagger配置方式,只配置對應的方法

首先在pom.xml文件中導入需要的依賴並加載

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

新建配置文件SwaggerConfig.java

package com.edgar.blog.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .pathMapping("/")
                .select()
                .paths(PathSelectors.any())
                .build().apiInfo(new ApiInfoBuilder()
                        .title("Swagger")
                        .description("Swagger")
                        .version("1.0")
                        .contact(new Contact("Edgar","https://blog.csdn.net/weixin_44676081","[email protected]"))
                        .license("The Apache License")
                        .licenseUrl("https://blog.csdn.net/weixin_44676081")
                        .build());
    }
}


在對應的controller類使用@Api, 其對應的方法使用@ApiOperation



@Controller
@RequestMapping(value = "/user")
@NoArgsConstructor
@Api(value = "用戶管理")
public class UserController {

    private UserDao userDao;

    private UserController(UserDao userDao) {
        this.userDao = userDao;
    }

    @GetMapping("/login")
    public String userLogin() {
        return "user/login";
    }

    @ApiOperation(value = "登錄", notes = "登錄")
    @PostMapping("/login")
    @ResponseBody
    public Result login(@RequestParam(value = "data", required = false) String data, HttpSession session) {
        JSONObject jsonObject = JSON.parseObject(data); // 將上傳的數據轉化成json文件
        String username = jsonObject.get("username").toString().trim();
        String password = jsonObject.get("password").toString().trim();
        if ("".equals(username) || "".equals(password)) {
            System.out.println(username);
            return GenerateResult.GenFailMessage("用戶名或者密碼爲空");
        } else {
            User user = userDao.findUserByName(username);
            if(user == null){
                return GenerateResult.GenFailMessage("不存在該用戶");
            }
            else if (!user.getPassword().equals(password)){
                return GenerateResult.GenFailMessage("密碼錯誤,請重新輸入");
            }
            else {
                return GenerateResult.GenSuccessMessage("登錄成功");
                //TODO: 優化使用next進行跳轉
            }
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章