构建Web应用

构建领域类

引用的领域类指的是它所要解决的主体范围:也就是会影响到对应用理解的理念和概念。如下所示:

@Data
@RequiredAresConstructor
public class Ingrredient {
    private final String id;
    private final String name;
    private final Type type;

    public static enum Type {
        WRAP,PROTEIN,VEGGIES,CHEESE,SAUSE
    }
}

我们使用了Lombok的库,所提供的类级别的 @Data 注解能告诉Lombok生成所有所缺失的如getter,setter,以及equals(),hashCode(),toString()等方法。同时还能生成所有以final属性作为参数的构造器。

创建控制器类

在Spring MVC框架中,控制器是重要的参与者。它们的主要职责是处理HTTP请求,要么将请求传递给视图以便于渲染HTML(浏览器展现),要么直接将数据写入响应体(RESTful)

@Slf4j注解由lombok提供,应用在类级别的注解,在运行时,它会在这个类中自动生成一个SLF4J(Simple Logging Facade for Java)Logger。这个简单的注解和在类中通过如下代码显式声明的效果时一样的:

 private static final org.slf4j.logger log = 
        org.slf4j.LoggerFactory.getLogge(xxController.class);  

@Controller 为类级别注解,会将这个类识别为控制器,并且将其作为组件扫描的候选者,所以Spring会发现它并自动创建一个该类实例,并将该实例作为Spring应用上下文中的Bean。

@RequstMapping 注解用到类级别的时候,它能够指定该控制器所处理的请求类型。如会处理路径以“/design”开头的请求。


Spring MVC的请求映射注解

注解描述
@RequestMapping通用的请求处理
@GetMapping处理HTTP GET 请求
@PostMapping处理HTTP POST 请求
@PutMapping处理HTTP PUT 请求
DeleteMapping处理HTTP DELETE 请求
PatchMapping处理HTTP PATCH 请求

校验输入

Spring支持Java的Bean校验API(Bean Validation API,也被称为JSR-303)。借助Spring Boot,Validation API 以及 Validation API的HIbernate实现将会作为Spring Boot web starter的传递性依赖自动添加到项目中。

@NotNUll 确保属性不为空或null

@Size 限定属性的值

@NotBlank 确保用户没有提交空白字段

@CreditCardNumber 声明该属性的值必须是和合法的信用卡号,它要能通过Luhn算法检查

@Pattern 可提供正则表达式来进行校验

@Digits 限定属性值

所有的校验注解都包含了一个message属性,该属性定义了当输入的信息不满足声明的校验规则时要给用户展现的信息。

@PostMapping
public String processDesign(@Valid Taco design,Errors errors) {
    if(errors.hasErrors()) {
        ```
    }
    ```
}

@Valid 注解会告诉Spring MVC 要对提交的Taco对象进行校验,如果存在校验错误,那么这些错误的细节将会捕获到一个Errors对象中并传递给 processDesign()。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值