需求说明:公司使用Swagger(接口文档在线生成工具),为了让前端同事更好的了解传入参数的详细情况,应用项目中接口(eg:分页查询接口)中使用dto对象来接受前端传入的参数,但是后面中心项目中接口是用json字符串接受的,也就是说需要把dto对象转为JSON字符串,这时JSON.toJSONString()就用上了。

应用项目接口:

/**
* 分页查询xxx列表
* @param pageNum 起始页
* @param pageSize 每一页的记录数
* @return RestResponse<PageInfo<BandRespDto>>
*/
@ApiOperation(value = "分页查询xxx信息列表", notes = "分页查询xxx信息列表")
@ApiImplicitParams({
   @ApiImplicitParam(name = "pageNum", value = "起始页", dataType = "integer", paramType = "query"),
   @ApiImplicitParam(name = "pageSize", value = "每一页的记录数", dataType = "integer", paramType = "query")
})
@GetMapping(value = {"/list"}, produces = "application/json")
RestResponse<PageInfo<BandRespDto>> queryBandListByPage(
              @Validated BandCreateReqDto bandCreateReqDto,
              @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize){
return iBandService.queryBandListByPage(bandCreateReqDto,pageNum, pageSize);
}

中心项目接口:

/**
* 分页查询xxx列表
*
* @param filters 查询参数(json格式)
* @param pageNum 分页页码
* @param pageSize 分页行数
* @return RestResponse<PageInfo<BandRespDto>>
*/
@GetMapping(value = {"/list"}, produces = "application/json")
@ApiImplicitParams({
@ApiImplicitParam(name = "filter", value = "查询参数(json格式字符串)", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "pageNum", value = "当前页码", dataType = "integer", paramType = "query"),
@ApiImplicitParam(name = "pageSize", value = "分页行数", dataType = "integer", paramType = "query")
})
@ApiOperation(value = "分页查询xxx列表", notes = "分页查询xxx列表")
RestResponse<PageInfo<BandRespDto>> queryBandListByPage(
             @RequestParam(name = "filter") String filter,
             @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
}

使用JSON.toJSONString()

@Override
public RestResponse<PageInfo<BandRespDto>> queryBandListByPage(BandCreateReqDto bandCreateReqDto, Integer pageNum, Integer pageSize) {
return bandQueryApi.queryBandListByPage(JSON.toJSONString(bandCreateReqDto),pageNum, pageSize);
}
 

项目实战--JSON.toJSONString()的更多相关文章

  1. 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在我们之前的Asp.net mvc 开发中,一提到配置文件,我们不由的想到 web.config 和 app.config,在 ...

  2. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  3. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  4. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  5. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. Django框架简单认识(一)

    1.Django是什么 Django是一个由python写成的开放源代码的Web应用框架. 2.Django安装 2.1 Django与python版本的安装版本匹配 Django 版本 Python ...

  2. Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

    用pycharm连接mysql报错 改变serverTimezone 改了之后确实可以连接上mysql数据库

  3. 什么是VIP?什么是IP漂移?

    IP地址和MAC地址 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address.事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是 ...

  4. uni与小程序,vue的区别

    标签区别 uni使用小程序的标签,vue使用web端的标签 标签名变化的: 标签描述\类别 vue uniapp 文本 span\font text 链接 a navigator/ router-li ...

  5. 轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015

    主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, gr ...

  6. C++编程指南续(10-11)

    十.类的继承与组合 对象(Object)是类(Class)的一个实例(Instance).如果将对象比作房子,那么类就是房子的设计图纸.所以面向对象设计的重点是类的设计,而不是对象的设计. 对于C++ ...

  7. 不会吧不会吧,还有开发不会Java填充PDF模板数据的,赶紧看看吧

    思路 根据业务需求,获取实际业务数据,借助itext库功能,将业务数据填充入提前制作好的PDF模板中 操作步骤 制作PDF模板:提前下载好Adobe Acrobat Pro DC 效果展示 准备PDF ...

  8. 使用MySQL乐观锁解决超卖问题

    在秒杀系统设计中,超卖是一个经典.常见的问题,任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难点. 1 超卖问题描述 在多个用户同时发起对同一 ...

  9. 在Qt中配置海康工业相机SDK及遇到的问题(报错)

    1.在项目的.pro文件里导入海康工业相机的SDK路径 INCLUDEPATH += \ D:\HKVersion\MVS_3.1.0\MVS\Development\Includes #这时到入Op ...

  10. ORACLE11g Dataguard物理Standby 日常巡检操作手册

    ORACLE11g Dataguard物理Standby日常巡检操作手册 编写:_____________校对:_____________日期:_____________ 目录1.DG环境的日常巡检 ...