接着上期
1.WebMvcConfigurer配置类其实是Spring
内部的一种配置方式,采用JavaBean
的形式来代替传统的xml
配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer
接口;
在项目创建文件夹config在文件夹下创建CorsConfig
package com.southwind2.phone_store_demo.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS") .allowCredentials(true) .maxAge(3600) .allowedHeaders("*"); } }
2.创建一个dto文件夹创建类OrderDTO便于创建订单时使用类
package com.southwind2.phone_store_demo.dto; import lombok.Data; @Data public class OrderDTO { private String orderId; private String buyerName; private String buyerPhone; private String buyerAddress; private Integer specsId; private Integer phoneQuantity; }
3.创建两个会使用到的枚举创建文件夹enums
1)PayStatusEnum支付状态枚举
package com.southwind2.phone_store_demo.enums; import lombok.Getter; @Getter public enum PayStatusEnum { UNPIAD(0,"未支付"), PIAD(1,"已支付"); private Integer code; private String msg; PayStatusEnum(Integer code,String msg){ this.code=code; this.msg=msg; } }
2)ResultEnum返回结果提示枚举
package com.southwind2.phone_store_demo.enums; import lombok.Getter; @Getter public enum ResultEnum { PHONE_STOCK_ERROR(0,"手机库存不足"), ORDER_NOT_EXIST(1,"订单不存在"), PHONE_NOT_EXIST(3,"手机不存在"), SPECS_NOT_EXIST(2,"规格不存在"); private Integer code; private String msg; ResultEnum(Integer code,String msg){ this.code=code; this.msg=msg; } }
4.创建文件夹exception抛出异常提示文件
package com.southwind2.phone_store_demo.exception; import com.southwind2.phone_store_demo.enums.ResultEnum; public class PhoneException extends RuntimeException { public PhoneException(ResultEnum resultEnum) { super(resultEnum.getMsg()); } public PhoneException(String error) { super(error); } }
5.创建错误提示类文件夹from
1)AddressForm
package com.southwind2.phone_store_demo.from; import lombok.Data; import javax.validation.constraints.NotEmpty; @Data public class AddressForm { private Integer id; @NotEmpty(message = "姓名不能为空") private String name; @NotEmpty(message = "电话不能为空") private String tel; @NotEmpty(message = "省份不能为空") private String province; @NotEmpty(message = "城市不能为空") private String city; @NotEmpty(message = "区不能为空") private String county; @NotEmpty(message = "编码不能为空") private String areaCode; @NotEmpty(message = "地址不能为空") private String addressDetail; }
2)OrderForm
package com.southwind2.phone_store_demo.from; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @Data public class OrderForm { @NotEmpty(message = "姓名不能为空") private String name; @NotEmpty(message = "电话不能为空") private String tel; @NotEmpty(message = "地址不能为空") private String address; @NotNull(message = "规格不能为空") private Integer specsId; @NotNull(message = "数量不能为空") private Integer quantity; }