用于复杂对象的 Rest 客户端框架

Rest client framework for complex objects

我开发了一项用于订单管理的 Web 服务。此 Web 服务将许多复杂对象作为输入参数。我使用 curl 进行测试,它工作正常。现在我正在写一个客户端,但是 在 ArrayList(例如,项目作为 ArrayList)对象时有问题。它作为字符串发送。这似乎是我使用的客户端框架的限制。我尝试过一两个开放框架,但它们没有按预期工作。如果您能推荐一些带有示例的框架,那就太好了。

下面是示例 curl 请求,为了简单起见,我删除了一些额外的参数。

curl -L -v -b agent_cookies.txt -H "Content-Type: application/json" -d "{"items":{"atg-rest-class-type":"java.util.ArrayList","atg-rest-values": [{"atg-rest-class-type":"com.bean.CommerceItemInfo","tinSkuNumber":"41589367","itemNumber": 280594,"color": 9,"size": 94,"salePrice":50.00,"taxAmount":3.5,"stateTax":0.48,"countyTax":0.08,"currencyCode":"USD"},{"atg-rest-class-type":"com..bean.CommerceItemInfo", "tinSkuNumber":"41589375","itemNumber": 280594,"color": 9,"size": 96,"salePrice":100.00,"taxAmount":7,"stateTax":0.96,"countyTax":0.16,"currencyCode":"USD"}]},orderInfo:{...},"clientAddress":{"atg-rest-class-type":"java.util.ArrayList","atg-rest-values": [{"atg-rest-class-type":"com.bean.ClientAddress",\"firstName\":\"John\",\"lastName\":\"Dao\",\"state\":\"FL\",\"country\":\"US\",\"postalCode\":\"33606\",\"address1\":\"100 S Edison Avenue\",\"address2\":\"Suite D\",\"city\":\"Tampa\",\"addressType\":\"BOTH\"}]},{......}}" http://localhost:8080/rest/model/com/web/actor/CartActor/testOrder

谢谢

经过一些研究,我发现了 ATG 客户端的局限性,我们无法发送 List.I 将参数更改为仅接受单个 bean。