SpringBoot使用Swagger2
pom依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-models</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.3.11</version>
</dependency>
配置类
package top.xz.hand.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.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Swagger2的配置文件 * **/ @EnableSwagger2 @Configuration public class Swagger2Config { @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .enable(true) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("Innocent的API") .description("@API") .build(); } }
注解使用
package top.xz.hand.controller; import org.springframework.beans.factory.annotation.Autowired; import top.xz.hand.core.BasePageSearch; import top.xz.hand.dto.IDValid; import top.xz.hand.result.PageResult; import top.xz.hand.result.Result; import top.xz.hand.result.ResultCode; import top.xz.hand.model.UserInfo; import top.xz.hand.service.RedisService; import top.xz.hand.service.UserInfoService; import org.springframework.web.bind.annotation.*; import com.wordnik.swagger.annotations.Api; import com.wordnik.swagger.annotations.ApiOperation; import tk.mybatis.mapper.entity.Condition; import javax.annotation.Resource; import java.util.List; /** * Created by XZ on 2019/08/07. */ @RestController @RequestMapping("/user/info") @Api(value = "xx", description = "xx") public class UserInfoController { @Resource private RedisService redisService; @Resource private UserInfoService services; @RequestMapping(value = "/get_list", method = RequestMethod.POST) @ResponseBody public Object get_list(@RequestBody BasePageSearch<UserInfo> modelValid) { Condition condition = new Condition(UserInfo.class); Condition.Criteria criteria = condition.createCriteria(); // condition.setOrderByClause("ID DESC"); UserInfo model = modelValid.getSearch() == null ? new UserInfo() : modelValid.getSearch(); //模型判断是否等于场景使用比如 ID = 10 // List<UserInfo> lists = services.selectForStartPage(model,modelValid.getPage(),modelValid.getLimit()); // long total = services.count(model); List<UserInfo> lists = services.selectByConditionForStartPage(condition, modelValid.getPage(), modelValid.getLimit()); long total = services.countByCondition(condition); return new Result(ResultCode.SUCCESS, lists, new PageResult(modelValid.getPage(), total)); } @RequestMapping(value = "/get_one", method = RequestMethod.POST) @ResponseBody public Object get_one(@RequestBody IDValid valid) { UserInfo model = services.selectByPrimaryKey(valid.getId()); return new Result(ResultCode.SUCCESS, model); } @RequestMapping(value = "/add_one", method = RequestMethod.POST) @ResponseBody public Object add_one(@RequestBody UserInfo model) { services.insertSelective(model); return new Result(ResultCode.SUCCESS, model.getId()); } @RequestMapping(value = "/add_multiple", method = RequestMethod.POST) @ResponseBody public Object add_multiple(@RequestBody List<UserInfo> model) { services.insertList(model); return new Result(ResultCode.SUCCESS); } @RequestMapping(value = "/edit_one", method = RequestMethod.POST) @ResponseBody public Object edit_one(@RequestBody UserInfo model) { services.updateByPrimaryKeySelective(model); return new Result(ResultCode.SUCCESS); } @RequestMapping(value = "/delete_one", method = RequestMethod.POST) @ResponseBody public Object delete_one(@RequestBody IDValid valid) { services.deleteByPrimaryKey(valid.getId()); return new Result(ResultCode.SUCCESS); } @RequestMapping(value = "/delete_multiple", method = RequestMethod.POST) @ResponseBody //ids 1,2,3,4 public Object delete_multiple(@RequestBody String ids) { services.deleteByIds(ids); return new Result(ResultCode.SUCCESS); } }
访问路径:
http://localhost:8090/swagger-ui.html
一点点

浙公网安备 33010602011771号