SpringBoot集成Swagger2实现Restful(类型转换错误解决办法)

作者:那小子很拽 时间:2022-11-05 23:12:26 

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>

编写swapper2配置类


package com.zyank;
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;
@Configuration
@EnableSwagger2
public class Swagger2 {
 @Bean
 public Docket createRestApi() {
   return new Docket(DocumentationType.SWAGGER_2)
       .apiInfo(apiInfo())
       .select()
       .apis(RequestHandlerSelectors.basePackage("com.zyank.web"))
       .paths(PathSelectors.any())
       .build();
 }
 private ApiInfo apiInfo(){
   return new ApiInfoBuilder()
       .title("Spring Boot中试用Swagger2构建的RESTful APIs")
       .description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
       .termsOfServiceUrl("http://blog.didispace.com/")
       .contact("leo")
       .version("1.0")
       .build();
 }
}

Controller内使用


package com.zyank.web;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.zyank.domain.User;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping(value="/users")
public class UserContrller {
 static Map<Long, User> users=Collections.synchronizedMap(new HashMap<Long,User>());
 @ApiOperation(value="获取用户列表",notes="")
 @RequestMapping(value={""},method=RequestMethod.GET)
 public List<User> getUserList(){
   List<User> r=new ArrayList<User>(users.values());
   return r;    
 }
  @ApiOperation(value="创建用户", notes="根据User对象创建用户")
   @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User")
   @RequestMapping(value="", method=RequestMethod.POST)
   public String postUser(@RequestBody User user) {
     users.put(user.getId(), user);
     return "success";
   }
   @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息")
   @ApiImplicitParam(name = "id", value = "用户ID", required = true, paramType="path", dataType = "Long")
   @RequestMapping(value="/{id}", method=RequestMethod.GET)
   public User getUser(@PathVariable Long id) {
     return users.get(id);
   }
   @ApiOperation(value="更新用户详细信息", notes="根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息")
   @ApiImplicitParams({
       @ApiImplicitParam(name = "id", value = "用户ID", required = true, paramType="path", dataType = "Long"),
       @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User")
   })
   @RequestMapping(value="/{id}", method=RequestMethod.PUT)
   public String putUser(@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)
   public String deleteUser(@PathVariable Long id) {
     users.remove(id);
     return "success";
   }
}

如果上诉代码没有写paramType = “path” 会提示类型转换String convert to Long错误。

以上所述是小编给大家介绍的SpringBoot集成Swagger2实现Restful(类型转换错误解决办法)网站的支持!

来源:http://blog.csdn.net/haoqi9999/article/details/74421483

标签:类型转换错误,spring,boot,swagger2
0
投稿

猜你喜欢

  • AndroidStudio替换项目图标ic_launcher操作

    2023-03-20 09:48:07
  • 浅析java修饰符访问权限(动力节点Java学院整理)

    2023-07-13 18:07:34
  • SpringBoot security安全认证登录的实现方法

    2021-05-30 08:09:56
  • GraalVM和Spring Native尝鲜一步步让Springboot启动飞起来66ms完成启动

    2023-07-19 10:34:35
  • c# 闭包的相关知识以及需要注意的地方

    2023-12-11 01:27:54
  • 详解Spring Cloud Zuul 服务网关

    2021-11-15 19:24:19
  • SpringBoot自动配置特点与原理详细分析

    2023-11-19 19:15:01
  • Android自定义StickinessView粘性滑动效果

    2022-11-22 08:56:20
  • C#位运算以及实例计算详解

    2021-06-03 09:03:20
  • Android Studio SVN使用方法教程

    2022-06-29 23:58:12
  • Android EventBus(普通事件/粘性事件)详解

    2022-12-22 18:48:09
  • Android 性能优化系列之bitmap图片优化

    2023-11-05 14:03:20
  • C#中Socket通信用法实例详解

    2022-07-10 03:42:03
  • spring boot如何使用POI读取Excel文件

    2022-09-19 21:26:33
  • C#中Dispose和Finalize方法使用介绍

    2022-09-10 16:05:21
  • Android录屏的三种解决方案

    2021-09-28 14:07:59
  • Java continue break制作简单聊天室程序

    2022-12-20 01:23:01
  • Android Studio中的Gradle依赖深入讲解

    2022-09-01 11:16:37
  • Java 的可变参数方法详述

    2022-06-03 19:12:34
  • java8 Stream大数据量List分批处理切割方式

    2023-02-10 22:34:36
  • asp之家 软件编程 m.aspxhome.com