杂记-关于java前后端发送Http请求

杂记

1.校验前端传参的方式

之前做项目,每次判断前端的请求参数的时候,都是用静态的方法在做,像下面这样,先定义一个请求参数,
然后当这个参数被传递过来的时候再去判断。

在这里插入图片描述
在这里插入图片描述

具体的判断像下面这样

        public static Boolean checkSaveManagerNull(SaveManagerRequest saveManagerRequest) {
           return
              StringUtils.isEmpty(saveManagerRequest.getBranchCompanyId())||
              StringUtils.isEmpty(saveManagerRequest.getOpenId())||
              StringUtils.isEmpty(saveManagerRequest.getPhone())||
              StringUtils.isEmpty(saveManagerRequest.getShopId())||
              StringUtils.isEmpty(saveManagerRequest.getShopName())  ;
    
        }

虽说也能起到效果,但是感觉上就是很啰嗦,看起来也不优雅。
其实java中javax包下提供了很多这样注解供我们使用,判断字符串不为空的,判断数字长度的,判断是否满足正则的,现在把常用的几个写在下面,用的时候好找
在这里插入图片描述其中的message注解的含义是,当传递的参数不符合要求时给什么样的提示。

当你在请求对象中写明这些规则,千万不要忘记最最最重要的一件事,需要在这个对象被声明的地方使用@Valid注解(级联验证)。
在这里插入图片描述
千万别忘,忘记就GG。

2.接收前端集合类型的对象

java中涉及到前端请求,最常见的也就是post和get请求。下面分别看下两种情况json数据怎么写

get请求

controller层
在这里插入图片描述

接收的对象详细信息是

    import lombok.Data;
    
    import javax.validation.constraints.NotEmpty;
    
    /**
     * @author : wuwensheng
     * @date : 14:12 2020/6/19
     */
    @Data
    public class UserPageRequest {
        //搜索的班级名称或者用户名称
        private String keywords;
        //第几页
        @NotEmpty(message = "第几页不可为空")
        private String page;
        //	一页多少条数据,待选值50,100,200,默认50
        private String paping;
        //筛选数据的院系id集合,例如:[55,22,33],就只返回院系id为55,22,33的数据
        private int [] filterGroupFacultyId;
        //筛选数据的角色id集合,例如,[88,22],就只返回角色id为88的数据
        private int [] filterGroupRoleId;
        //0代表筛选禁用的用户,1代表筛选启用的用户
        private Integer stateId;
        //0代表筛选女,1代表筛选男
        private Integer sex;
    
    }

请求的写法
在这里插入图片描述
在这里插入图片描述
post请求
若post请求直接传递一个集合,集合中元素为一个对象

controller层
在这里插入图片描述

集合中的对象的详细信息

    @Data
    public class OrderReturnBO {
        /**
         * 订单ID
         */
        private String orderId;
        /**
         * 退货类型 (1-部分退货 2-全部退货 3-拒绝退货)
         */
        private Integer returnType;
        /**
         * 退款状态 (1-待退款 2-已退款 3-已支付)
         */
        private Integer returnStatus;
    }

postman传递的方式

在这里插入图片描述

若请求传递一个对象,对象中含有集合,和上面的差不多,只不过是将上面的放在一个对象中。

3.注意@RequestBody注解的使用

使用springBoot框架的小伙伴非常熟悉这个注解,它的作用是告知控制器以json格式接收请求的参数。
但是绝对不要将这个注解写在get请求上,如果get请求接收对象,对象上什么都不要加,springMVC会帮我们自动映射的。

错误写法
在这里插入图片描述

正确写法
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值