spring 参数校验

1.主要是用到两个注解 @Validated 和 @Valid

package com.micro.pmo.moudle.store.controller;

import java.util.List;
import java.util.Map;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.github.pagehelper.PageInfo;
import com.micro.pmo.commons.utils.Result;
import com.micro.pmo.commons.utils.ResultState;
import com.micro.pmo.moudle.car.vo.FindCarVO;
import com.micro.pmo.moudle.customer.entity.CusStore;
import com.micro.pmo.moudle.store.entity.Store;
import com.micro.pmo.moudle.store.service.StoreService;
import com.micro.pmo.moudle.store.vo.StaffVo;

@Validated
@RestController
@RequestMapping("xxxx")
public class StoreController {

    @Autowired
    private StoreService storeService;
    
    /***
     * 添加员工
     * @param staffVo
     * @return
     */
    @PostMapping("xxxx")
    public Result storeAddCus(@Valid @RequestBody StaffVo staffVo){
        storeService.storeAddCus(staffVo);
        return Result.success();
    }
    /***
     * 微店车辆
     * @param storeId
     * @param carId
     * @return
     */
    @GetMapping("xxxx")
    public Result carInfo(@NotNull(message="微店id不能为空")Integer storeId,
            @NotNull(message="车辆id参数不能为空")Integer carId){
        Map<String, Object> map = storeService.storeCarInfo(storeId, carId);
        return Result.success(map);
}

这个类就是我们常用的Controller层,注意:上面的 @GetMapping ,@PostMapping是spring boot的注解,开发springMVC项目使用注解不同。

@Validated 在这个类上开启全局校验,@Valid 针对某一个类或一个值。

上面看到有校验类的,请看下面代码

package com.micro.pmo.moudle.store.vo;

import javax.validation.constraints.NotNull;

public class StaffVo {

    @NotNull(message = "电话号码不能为空")
    private String phone;
    
    @NotNull(message = "姓名不能不能为空")
    private String name;

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public StaffVo() {
        super();
    }
}

这个类只看到 @NotNull的校验 @Length  等等注解使用,懂代码的人都可以去看源码,这里只是告诉使用方法。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痕0712

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值