买家端商品

注意:

当涉及到有限个状态的类,可以使用枚举表示:

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返回呢?因为有些信息是不需要返回给前端的并且也不安全。

原文地址:https://www.cnblogs.com/XJJD/p/8747981.html