Enum对象 作为参数如何传递? postman请求

在请求postman的时候,Enum对象作为参数如何传递?

 

要求:

传递orders对象,用于es排序:

private String fieldName;

private OrderBy orderBy;
public enum OrderBy {
    ASC("asc"), DESC("desc");
}

Postman请求的时候,参数该如何传?

 

ReportOrder:

public class ReportOrder {

    private String fieldName;

    private OrderBy orderBy;

    public ReportOrder(String fieldName, OrderBy orderBy) {
        this.fieldName = fieldName;
        this.orderBy = orderBy;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public OrderBy getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(OrderBy orderBy) {
        this.orderBy = orderBy;
    }

    public enum OrderBy {
        ASC("asc"), DESC("desc");

        String order;

        OrderBy(String order) {
            this.order = order;
        }

        public String getOrder() {
            return order;
        }
    }


    @Override
    public String toString() {
        return "ReportOrder{" +
                "fieldName='" + fieldName + '\'' +
                ", orderBy=" + orderBy +
                '}';
    }
}

 

测验

思考:

orderBy是一个类对象,那传的时候,当作一个对象?

 

代码;

public static void main(String[] arg) {
    String orders = "{\"fieldName\":\"created_date\",\"orderBy\":{\"order\":\"asc\"}}";
    ReportOrder reportOrder;
    reportOrder = JSON.parseObject(orders, ReportOrder.class);
    System.out.println(reportOrder.toString());
}

报错,解析不了。在Enum对象引用的时候,是ReportOrder.OrderBy.ASC ,不是get的方式,而是直接获取,试试直接的方式

public static void main(String[] arg) {
    String orders = "{\"fieldName\":\"created_date\",\"orderBy\":\"asc\"}";
    ReportOrder reportOrder = JSON.parseObject(orders, ReportOrder.class);
    System.out.println(reportOrder.toString());
    orders = "{\"fieldName\":\"created_date\",\"orderBy\":\"asii\"}";
    reportOrder = JSON.parseObject(orders, ReportOrder.class);
    System.out.println(reportOrder.toString());
}

结果:

ReportOrder{fieldName='created_date', orderBy=ASC}
ReportOrder{fieldName='created_date', orderBy=null}

Postman请求的时候:

{
	"fieldName": "create_date",
	"orderBy": "ASC"
}

 

总结:

   在使用enum作为参数传递的时候,将其看做字符串就行,具体的值跟代码设置的值相对应。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天狼1222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值