请求参数校验

This commit is contained in:
jiangdingxuan 2024-01-08 15:38:41 +08:00
parent a4315b8f6f
commit d6516cafa9
3 changed files with 20 additions and 6 deletions

View File

@ -4,10 +4,7 @@ import net.rzdata.demo.dict.domain.AddDictReq;
import net.rzdata.demo.dict.domain.Dict; import net.rzdata.demo.dict.domain.Dict;
import net.rzdata.demo.dict.domain.UpdateDictReq; import net.rzdata.demo.dict.domain.UpdateDictReq;
import net.rzdata.domain.Id; import net.rzdata.domain.Id;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("/dict") @RequestMapping("/dict")
@ -20,7 +17,7 @@ public class DictController {
} }
@PostMapping() @PostMapping()
public Id addDict(AddDictReq req) { public Id addDict(@RequestBody AddDictReq req) {
Dict dict = req.into(); Dict dict = req.into();
if (dict.getParentId() == null) { if (dict.getParentId() == null) {
dict.setParentId(Dict.ROOT.getId()); dict.setParentId(Dict.ROOT.getId());
@ -31,7 +28,7 @@ public class DictController {
} }
@PutMapping() @PutMapping()
public Id updateDict(UpdateDictReq req) { public Id updateDict(@RequestBody UpdateDictReq req) {
Dict dict = req.into(); Dict dict = req.into();
dictService.updateDict(dict); dictService.updateDict(dict);
return Id.of(dict.getId()); return Id.of(dict.getId());

View File

@ -1,5 +1,8 @@
package net.rzdata.demo.dict.domain; package net.rzdata.demo.dict.domain;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -17,14 +20,19 @@ public class AddDictReq implements IQuery<Dict> {
/** /**
* 字典标签 * 字典标签
*/ */
@Max(255)
private String label; private String label;
/** /**
* 字典值 * 字典值
*/ */
@Max(255)
@NotNull(message = "字典值不能为空")
@Pattern(regexp = "[\\w-]+", message = "字典值只允许英文字母、下划线、短横线")
private String value; private String value;
/** /**
* 字典类型 * 字典类型
*/ */
@NotNull(message = "字典类型不能为空")
private String type; private String type;
/** /**
* 父级ID * 父级ID
@ -34,6 +42,7 @@ public class AddDictReq implements IQuery<Dict> {
/** /**
* 排序 * 排序
*/ */
@NotNull(message = "排序值不能为空")
private Integer sort; private Integer sort;
/** /**
* 是否禁用 * 是否禁用

View File

@ -1,5 +1,8 @@
package net.rzdata.demo.dict.domain; package net.rzdata.demo.dict.domain;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -21,14 +24,19 @@ public class UpdateDictReq implements IQuery<Dict> {
/** /**
* 字典标签 * 字典标签
*/ */
@Max(255)
private String label; private String label;
/** /**
* 字典值 * 字典值
*/ */
@Max(255)
@NotNull(message = "字典值不能为空")
@Pattern(regexp = "[\\w-]+", message = "字典值只允许英文字母、下划线、短横线")
private String value; private String value;
/** /**
* 排序 * 排序
*/ */
@NotNull(message = "排序值不能为空")
private Integer sort; private Integer sort;
/** /**
* 父级ID * 父级ID