使用Play Framework处理REST API。
我需要支持包含多个“订单项”的“订单”的 RESTful请求。
就“POST数据”而言,我认为:(为清晰起见,分成多行)
OrderId=123&OrderType=regular&
ItemNum=1&ItemID=78&quantity=2&discount=20&
ItemNum=2&ItemID=70&quantity=1&
ItemNum=3&ItemID=75&quantity=1&discount=10
请注意,我有一个问题要求所有“订单项”都附带一整套数据。在上面的示例中,第二项没有折扣。由于我不能“强迫”使用API的开发人员使用我自己的“包装器”,我想保留一些灵活性。
我想把它映射到类似的东西:
方法(int orderID,string orderType,Item []项目)
但是,我在文档中找不到合适的内容。
什么是正确的方法? 我应该构建自己的HTTP请求数据解析器吗? 格式化POST数据的任何替代方法 - 只要可以使用REST指南 - 也是可以接受的。
由于 最大
答案 0 :(得分:2)
要映射Pojo对象数组,则需要将item.
放在项目对象的前面。就像您在表单中映射对象一样。然后,您应该使用标准数组语法指定它是一个数组。
我会做类似以下的事情
orderId=123&orderType=regular&
item[0].ItemNum=1&item[0].ItemID=78&item[0].quantity=2&item[0].discount=20&
item[1].ItemNum=2&item[1].ItemID=70&item[1].quantity=1&
item[2].ItemNum=3&item[2].ItemID=75&item[2].quantity=1&item[2].discount=10