注意:
当涉及到有限个状态的类,可以使用枚举表示:
package com.imooc.enums; import lombok.Getter; /** * 商品状态 * Created by think * 2017-05-09 17:33 */ @Getter public enum ProductStatusEnum { UP(0, "在架"), DOWN(1, "下架") ; private Integer code; private String message; ProductStatusEnum(Integer code, String message) { this.code = code; this.message = message; } }
当返回给前端的json数据中的某些属性需要改变名称时,可以用@JsonProperty注解:
package com.imooc.VO; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.math.BigDecimal; /** * 商品详情 * Created by think * 2017-05-12 14:25 */ @Data public class ProductInfoVO { @JsonProperty("id") private String productId; @JsonProperty("name") private String productName; @JsonProperty("price") private BigDecimal productPrice; @JsonProperty("description") private String productDescription; @JsonProperty("icon") private String productIcon; }
为什么要返回vo而不是直接把pojo返回呢?因为有些信息是不需要返回给前端的并且也不安全。