当前位置: 首页 > news >正文

网站关键字标签合肥高端网站建设设计公司哪家好

网站关键字标签,合肥高端网站建设设计公司哪家好,应用软件开发过程,宁波 小程序开发公司接口参数处理及统一结果响应 1、接口参数处理 1、普通参数接收 这种参数接收方式是比较常见的#xff0c;由于是GET请求方式#xff0c;所以在传参时直接在路径后拼接参数和参数值即可。 例如#xff1a;localhost:8080/api/product/list?key1value1key2value2 /…接口参数处理及统一结果响应 1、接口参数处理 1、普通参数接收 这种参数接收方式是比较常见的由于是GET请求方式所以在传参时直接在路径后拼接参数和参数值即可。 例如localhost:8080/api/product/list?key1value1key2value2 /*** 商品列表 - 普通参数接收* return 统一返回对象*/RequestMapping(value /product/list,method RequestMethod.GET)public Result list(RequestParam(required false) String goodsStatus,RequestParam(required false) String goodName,RequestParam(required false) Integer pageNum,RequestParam(required false) Integer pageSize){// 业务逻辑略.... }2、路径参数接收 在开发过程中会出现部分接口设计时采用将参数拼入路径中的方式当只需要一个参数时可以考虑路径参数接收这种接口设计方式。这种请求方式与普通参数接收方式没有很大的区别个人习惯。。。 例如像根据订单号查询这个时候可以将接口设计成/product/1024在接口方法的参数列表中使用PathVariable注解对订单号进行接收。 /*** 根据商品id获取商品详情* return 统一返回对象*/RequestMapping(value /product/{id},method RequestMethod.GET)public Result goods(PathVariable(id) Integer productId){// 业务逻辑略.... }3、对象参数接收 在进行接口开发的过程中项目中的POST或者PUT方法类型的接口基本上都是以对象形式来接收参数的。 例如在登录接口中前端在请求体中传递JSON格式的请求参数后端使用RequestBody注解对前端传递过来的JSON数据进行接收并将参数转换成对应的实体类。 RequestMapping(value /admin/login, method RequestMethod.POST)public ResultString login( RequestBody Valid AdminLoginParam adminLoginParam){// 业务逻辑略.... }AdminLoginParam Data public class AdminLoginParam implements Serializable {NotEmpty(message 登录名不能为空)private String userName;NotEmpty(message 密码不能为空)private String password; }这样当前端通过调用/admin/login接口并传递如下json数据给后端后端就会接收并处理登录流程了。 {username : panpan,password : 123123 }为了统一数据格式前端传递数据的过程中需要统一在请求头中将Content-Type设置为application/json 4、复杂对象接收 在开发过程中避免不了会出现一些复杂的对象这些复杂对象往往都是一个对象中包含另外一个实体对象或者包含一组对象List params 这种复杂对象接收方式与对象参数接收的方式一样前端在传递的时候只需要在json串中嵌套一层json对象。后端接收参数时封装一个嵌套对象即可 PostMapping(/saveOrder)public ResultString saveOrder(Parameter(description 订单参数) RequestBody SaveOrderParam saveOrderParam){// 业务逻辑略.... }SaveOrderParam Data public class SaveOrderParam implements Serializable {// 订单项id数组private Long[] cartItemIds;// 地址idprivate Long addressId; }2、统一结果响应 为了保证所有接口响应数据格式的统一这样可以大大减少接口响应的工作量方便前端同学使用接口。 /*** 统一返回对象** author supanpan* create_date 2023-11-19 11:03*/ public class ResultT implements Serializable {private static final long serialVersionUID 1L;//业务码比如成功、失败、权限不足等 code可自行定义private int resultCode;//返回信息后端在进行业务处理后返回给前端一个提示信息可自行定义private String message;//数据结果泛型可以是列表、单个对象、数字、布尔值等private T data;public Result() {}public Result(int resultCode, String message) {this.resultCode resultCode;this.message message;}public int getResultCode() {return resultCode;}public void setResultCode(int resultCode) {this.resultCode resultCode;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public T getData() {return data;}public void setData(T data) {this.data data;}Overridepublic String toString() {return Result{ resultCode resultCode , message message \ , data data };} }封装响应结果生成工具类 /*** 响应结果生成工具** author supanpan* create_date 2023-11-19 11:05*/ public class ResultGenerator {private static final String DEFAULT_SUCCESS_MESSAGE SUCCESS;private static final String DEFAULT_FAIL_MESSAGE FAIL;private static final int RESULT_CODE_SUCCESS 200;private static final int RESULT_CODE_SERVER_ERROR 500;public static Result genSuccessResult() {Result result new Result();result.setResultCode(RESULT_CODE_SUCCESS);result.setMessage(DEFAULT_SUCCESS_MESSAGE);return result;}public static Result genSuccessResult(String message) {Result result new Result();result.setResultCode(RESULT_CODE_SUCCESS);result.setMessage(message);return result;}public static Result genSuccessResult(Object data) {Result result new Result();result.setResultCode(RESULT_CODE_SUCCESS);result.setMessage(DEFAULT_SUCCESS_MESSAGE);result.setData(data);return result;}public static Result genFailResult(String message) {Result result new Result();result.setResultCode(RESULT_CODE_SERVER_ERROR);if (!StringUtils.hasText(message)) {result.setMessage(DEFAULT_FAIL_MESSAGE);} else {result.setMessage(message);}return result;}public static Result genErrorResult(int code, String message) {Result result new Result();result.setResultCode(code);result.setMessage(message);return result;} } 使用示例 /*** 商品列表* return 统一返回对象*/RequestMapping(value /product/list,method RequestMethod.GET)public Result list(RequestParam(required false) String goodsStatus,RequestParam(required false) String goodName,RequestParam(required false) Integer pageNum,RequestParam(required false) Integer pageSize){// 返回数据对象Object resultData new Object();return ResultGenerator.genSuccessResult(resultData);}
http://www.zqtcl.cn/news/596777/

相关文章:

  • 大型企业网站设计案例免费在线看片
  • 云南网站开发公司找哪家网站弹出式链接后台怎么做
  • 电商网站的支付模块怎么做企业网站建设招标文件
  • 旅游在线网站开发十八个免费的舆情网站
  • 网站怎么申请百度小程序火车头采集发布wordpress
  • 外贸网站的推广技巧有哪些莱芜网吧
  • 溧阳城乡建设局网站ps中网站页面做多大的
  • sns社交网站 有哪些wordpress开发分类筛选
  • 黄石网站建设教程网上怎样查询企业资质
  • 国内设计师交流网站怎样做自己的网站钻钱
  • 无锡专业网站推广网络营销组合策略
  • 网站建设的安全威胁中国建设银行的网站色彩
  • 中小型企业网站建设与管理潍坊做网站哪家公司最好
  • 广州白云机场网站建设免费的网站模版
  • 商务网站建设策划书51网站怎么打开
  • 一个网站里面只放一个图片怎么做中国十大网络公司排名
  • 仓库网站开发怎么看一个网站做外链
  • 网站代码编辑器中国十大黑科技
  • 深圳网站建设一尘互联遵义网站开发哪家好
  • 室内设计师灵感网站汕头网站制作全过程
  • 网站改版是什么意思自己做的小网站分享
  • 秦皇岛公司做网站wordpress社交分享非插件
  • 做物流的都是上什么网站网络维护工程师工资多少
  • 莱芜市网站建设设计设计师互联网
  • 中国设计网网址山东seo网络营销推广
  • 常德市做公司网站的公司网站连接如何做二维码
  • 淮安网站设计蜜雪冰城网络营销论文
  • 网页设计与网站建设 入门必练宝安网站建设(深圳信科)
  • 黄石网站开发joomla 宠物网站模板
  • 网站建设公司成就需要详细填写