美文网首页
Springboot整合swagger-ui接口

Springboot整合swagger-ui接口

作者: berger_w | 来源:发表于2018-12-11 09:57 被阅读0次

首先pom.xml添加依赖 

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.2.2</version>

</dependency>

在Application.java同级创建Swagger2的配置类Swagger2

@Configuration

@EnableSwagger2

publicclassSwagger2{

@Bean

publicDocketcreateRestApi(){

returnnewDocket(DocumentationType.SWAGGER_2)

                .apiInfo(apiInfo())

                .select()

                .apis(RequestHandlerSelectors.basePackage("com.didispace.web"))

                .paths(PathSelectors.any())

                .build();

    }

privateApiInfoapiInfo(){

returnnewApiInfoBuilder()

.title("Spring Boot中使用Swagger2构建RESTful APIs")

.description("更多Spring Boot相关文章请关注:广告链接")

.termsOfServiceUrl(" 广告链接  url")

.contact("XXX")

.version("1.0")

                .build();

    }

}

@Configuration是用来让springboot来加载该配置的

然后@EnableSwagger2这个是使用swageer注解。

@RestController

@RequestMapping(value="/users")// 通过这里配置使下面的映射都在/users下,可去除

publicclassUserController{

staticMap users = Collections.synchronizedMap(newHashMap());

@ApiOperation(value="获取用户列表", notes="")

@RequestMapping(value={""}, method=RequestMethod.GET)

publicListgetUserList(){

List r =newArrayList(users.values());

returnr;

    }

@ApiOperation(value="创建用户", notes="根据User对象创建用户")

@ApiImplicitParam(name ="user", value ="用户详细实体user", required =true, dataType ="User")

@RequestMapping(value="", method=RequestMethod.POST)

publicStringpostUser(@RequestBody User user){

        users.put(user.getId(), user);

return"success";

    }

@ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息")

@ApiImplicitParam(name ="id", value ="用户ID", required =true, dataType ="Long")

@RequestMapping(value="/{id}", method=RequestMethod.GET)

publicUsergetUser(@PathVariable Long id){

returnusers.get(id);

    }

@ApiOperation(value="更新用户详细信息", notes="根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息")

@ApiImplicitParams({

@ApiImplicitParam(name ="id", value ="用户ID", required =true, dataType ="Long"),

@ApiImplicitParam(name ="user", value ="用户详细实体user", required =true, dataType ="User")

    })

@RequestMapping(value="/{id}", method=RequestMethod.PUT)

publicStringputUser(@PathVariable Long id, @RequestBody User user){

        User u = users.get(id);

        u.setName(user.getName());

        u.setAge(user.getAge());

        users.put(id, u);

return"success";

    }

@ApiOperation(value="删除用户", notes="根据url的id来指定删除对象")

@ApiImplicitParam(name ="id", value ="用户ID", required =true, dataType ="Long")

@RequestMapping(value="/{id}", method=RequestMethod.DELETE)

publicStringdeleteUser(@PathVariable Long id){

        users.remove(id);

return"success";

    }

}

代码部分结束,然后迫不及待的去访问http://localhost:8080/swagger-ui.html,会报这个错

说明 /swagger-ui.html 还没有映射到我们下载的swagger。

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

                registry.addResourceHandler("swagger-ui.html")

                .addResourceLocations("classpath:/META-INF/resources/");

}

最后自定义的 类 (继承WebMvcConfigurerAdapter)类,生效的

相关文章

网友评论

      本文标题:Springboot整合swagger-ui接口

      本文链接:https://www.haomeiwen.com/subject/yafshqtx.html