在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

SpringBoot之Swagger2

2016-8-29 13:14| 发布者: zhangjf| 查看: 687| 评论: 0

摘要: swagger版本 com.mangofactorydependency groupIdcom.mangofactory/groupId artifactIdswagger-springmvc/artifactId version1.0.2/version/dependency复制代码io.springfoxspringfox.version2.2.2/springf ...
swagger版本

com.mangofactory

  1. <dependency>
  2. <groupId>com.mangofactory</groupId>
  3. <artifactId>swagger-springmvc</artifactId>
  4. <version>1.0.2</version>
  5. </dependency>
复制代码

io.springfox

  1. <springfox.version>2.2.2</springfox.version>
  2. <dependency>
  3. <groupId>io.springfox</groupId>
  4. <artifactId>springfox-swagger-ui</artifactId>
  5. <version>${springfox.version}</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>io.springfox</groupId>
  9. <artifactId>springfox-swagger2</artifactId>
  10. <version>${springfox.version}</version>
  11. </dependency>
复制代码
开启swagger2
  1. /**
  2. * Created by patterncat on 2016-05-05.
  3. */
  4. @Configuration
  5. @EnableSwagger2
  6. public class SwaggerConfig {
  7. @Bean
  8. public Docket swaggerSpringMvcPlugin() {
  9. return new Docket(DocumentationType.SWAGGER_2)
  10. .select().paths(paths()).build().apiInfo(apiInfo());
  11. }
  12. @SuppressWarnings("unchecked")
  13. private Predicate<String> paths() {
  14. return Predicates.or(Predicates.containsPattern("/api/*"));
  15. }
  16. private ApiInfo apiInfo() {
  17. String title = "my api";
  18. String description = "api desc";
  19. String version = "1.0.0-snapshot";
  20. String contact = "patterncat@gmail.com";
  21. ApiInfo apiInfo = new ApiInfo(title,description,version,
  22. "terms of service", contact, "", "");
  23. return apiInfo;
  24. }
  25. }
复制代码
domain注解
  1. package com.patterncat.domain;
  2. import io.swagger.annotations.ApiModel;
  3. import io.swagger.annotations.ApiModelProperty;
  4. /**
  5. * Created by patterncat on 2016-05-05.
  6. */
  7. @ApiModel
  8. public class User {
  9. @ApiModelProperty(value = "User ID")
  10. private String id;
  11. @ApiModelProperty(value = "first name")
  12. private String firstName;
  13. @ApiModelProperty(value = "last name")
  14. private String lastName;
  15. public User() {
  16. }
  17. public User(String id, String firstName, String lastName) {
  18. this.id = id;
  19. this.firstName = firstName;
  20. this.lastName = lastName;
  21. }
  22. public String getId() {
  23. return id;
  24. }
  25. public void setId(String id) {
  26. this.id = id;
  27. }
  28. public String getLastName() {
  29. return lastName;
  30. }
  31. public void setLastName(String lastName) {
  32. this.lastName = lastName;
  33. }
  34. public String getFirstName() {
  35. return firstName;
  36. }
  37. public void setFirstName(String firstName) {
  38. this.firstName = firstName;
  39. }
  40. }
复制代码
controller配置
  1. @RestController
  2. @RequestMapping("/api/user")
  3. public class UserController {
  4. private ConcurrentHashMap<String,User> userMap = new ConcurrentHashMap<>();
  5. @RequestMapping(method = RequestMethod.POST)
  6. public String add(@RequestBody
  7. @ApiParam(name = "user",value = "json format",required = true)
  8. User user){
  9. userMap.put(user.getId(),user);
  10. return "add successfully";
  11. }
  12. @RequestMapping(method = RequestMethod.PUT)
  13. public String update(@RequestBody
  14. @ApiParam(name = "user",value = "json format",required = true)
  15. User user) {
  16. userMap.put(user.getId(),user);
  17. return "update successfully";
  18. }
  19. @RequestMapping(method = RequestMethod.GET)
  20. public User get(@RequestParam(value = "id", required = true) String id){
  21. return userMap.get(id);
  22. }
  23. @RequestMapping(method = RequestMethod.DELETE)
  24. public String delete(@RequestParam(value = "id", required = true) String id){
  25. userMap.remove(id);
  26. return "delete successfully";
  27. }
  28. }
复制代码

启动后访问
http://localhost:8080/swagger-ui.html

工程github

参考

spring boot之使用springfox swagger展示restful的api doc

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-6 20:29

Copyright 2015-2025 djqfx

返回顶部