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

发布时间 - 2026-01-11 02:11:49    点击率:

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(类型转换错误解决办法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# 类型转换错误  # spring  # boot  # 集成swagger2  # SpringBoot集成redis与session实现分布式单点登录  # SpringBoot集成Redis—使用RedisRepositories详解  # springboot集成RestTemplate及常见的用法说明  # springboot集成es详解  # Springboot集成restTemplate过程详解  # springboot集成ES实现磁盘文件全文检索的示例代码  # springboot集成es插入和查询的简单使用示例详解  # 小编  # 在此  # 相关文章  # 给大家  # 解决办法  # 所述  # 给我留言  # 感谢大家  # 用户列表  # 疑问请  # 有任何  # annotations  # Docket  # plugins  # public  # createRestApi  # ApiInfo  # service  # RequestHandlerSelectors  # spi 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel如何创建自定义中间件?(Middleware代码示例)  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何挑选高效建站主机与优质域名?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何实现API资源集合?(Resource Collection教程)  如何快速查询域名建站关键信息?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  IOS倒计时设置UIButton标题title的抖动问题  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何做网站制作流程,*游戏网站怎么搭建?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  装修招标网站设计制作流程,装修招标流程?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  JS弹性运动实现方法分析  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何利用DOS批处理实现定时关机操作详解  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel如何升级到最新版本?(升级指南和步骤)  昵图网官方站入口 昵图网素材图库官网入口  浅谈Javascript中的Label语句  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  javascript基于原型链的继承及call和apply函数用法分析  如何获取上海专业网站定制建站电话?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  昵图网官网入口 昵图网素材平台官方入口  如何在服务器上三步完成建站并提升流量?  Laravel如何使用Collections进行数据处理?(实用方法示例)  佛山企业网站制作公司有哪些,沟通100网上服务官网?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  *服务器网站为何频现安全漏洞?  微信推文制作网站有哪些,怎么做微信推文,急?  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  如何破解联通资金短缺导致的基站建设难题?