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 等等注解使用,懂代码的人都可以去看源码,这里只是告诉使用方法。