Heim > Java > javaLernprogramm > Hauptteil

So überprüfen Sie das Springboot-Parameterformat

WBOY
Freigeben: 2023-05-10 21:37:22
nach vorne
1152 Leute haben es durchsucht

Überprüfung des Springboot-Parameterformats

@Validated@Validated

字面意思校验

So überprüfen Sie das Springboot-Parameterformat

@RequestBody

该注解不用多说,意思是接收为json格式的参数

@Validated

Überprüfung der wörtlichen Bedeutung

So überprüfen Sie das Springboot-Parameterformat

@RequestBody

So überprüfen Sie das Springboot-ParameterformatUnnötig zu erwähnen, dass diese Annotation bedeutet, Parameter im JSON-Format zu empfangen

@Validated

Die Überprüfung der wörtlichen Bedeutung erfordert die Annotation @NotBlank oder @NotNull, um wirksam zu werden.

Geben Sie die Parameter des Anforderungshauptteils ein.

Überprüfung der Springboot-Parameteranmerkung🎜🎜1. Abhängigkeit hinzufügen 🎜
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
Nach dem Login kopieren
🎜3. Passen Sie eine Ausnahmeklasse an, die 🎜
package com.xl.annotation;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class User {

        @NotNull(message = "ID不能为空")
        @Range(min = 1, max = 100, message = "ID必须在1到100之间")
        private Integer id;

        @NotNull(message = "姓名不能为空")
        @Length(min = 2, max = 6, message = "姓名必须在2到6位之间")
        private String name;

        @NotNull(message = "余额不能为空")
        @DecimalMax(value = "30.50", message = "余额不能超过30.5")
        @DecimalMin(value = "1.50", message = "余额不能低于1.5")
        private BigDecimal amount;

        @NotNull(message = "生日不能为空")
        @Past(message = "生日必须是过去")
        private Date birthday;

        @NotBlank(message = "邮箱不能为空")
        @Email(message = "邮箱格式不正确")
        private String email;

        @NotBlank(message = "手机号不能为空")
        @Pattern(regexp = "^(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(16[6])|(17[0135678])|(18[0-9])|(19[89]))d{8})$", message = "手机号格式错误")
        private String phone;
}
Nach dem Login kopieren
🎜4 auslöst wird sofort zurückgesendet und die Verifizierung wird nicht fortgesetzt🎜
package com.xl.annotation;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.ValidationException;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;

@RestController
@Validated
@Api(value = "手机验证",description = "手机验证")
public class MobileController {
@ApiOperation("手机验证")
@RequestMapping("/phone")
    public String mobilePattern( Phone phone){
        return "chengg";
    }
    @PostMapping("/getUser")
    @ApiOperation("手机验证12")
    public String getUserStr( @NotNull(message = "name 不能为空")@RequestParam String name,
                              @Max(value = 99, message = "不能大于99岁")@RequestParam Integer age) {
        return "name: " + name + " ,age:" + age;
    }
   /* @PostMapping("/getUser1")
    @ApiOperation("手机验证c")
    public String getUser(@RequestBody @Validated User user, BindingResult bindingResult) {
        validData(bindingResult);
        return "name: " + user.getName() + " ,age:" + user.getAge();
    }*/
    private void validData(BindingResult bindingResult) {
        if (bindingResult.hasErrors()) {
            StringBuffer sb = new StringBuffer();
            for (ObjectError error : bindingResult.getAllErrors()) {
                sb.append(error.getDefaultMessage());
            }
            throw new ValidationException(sb.toString());
        }
    }

    @PostMapping("/test")
    @ApiOperation(value = "测试", notes = "")
    public String  test(@ApiParam(name = "test", value = "参数", required = true) @Validated @RequestBody User test, BindingResult bindingResult) {
        validData(bindingResult);
        if(bindingResult.hasErrors()){
            String errorMsg = bindingResult.getFieldError().getDefaultMessage();
            return errorMsg;
        }
        return "参数验证通过";
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie das Springboot-Parameterformat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!