对于订单管理应用程序,我需要设计使用JSON的RESTful API。
我希望我的API是这样的,因此请求/响应包含JSON:
订单搜索API
API: /orders/search
{
custname: "john",
orderdate: "10-jun-2013"
}
Response:
{
orders:[
{
orderid:234234,
orderstatus: NEW,
customer: "john"
}
]
}
订单更新API
API: /orders/343455
Request Body:
{
orderstatus: "DELIVERED",
recepient: "joe"
}
Response:
{
status: ERROR,
message: "Order does not exist"
}
问题
有什么想法吗?
发布于 2013-09-25 02:36:46
据我所知,HTTP 1.1并没有明确禁止GET方法的请求体。
然而,是否建议这样做的意见是不同的。
但是,GET请求应该(必须)是幂等 --特别是在REST上下文中,并且为了允许缓存。
在SO HTTP与请求体和其他许多问题上也可以看到这个问题。
如果由于任何原因不能在GET方法中指定请求体,则需要在URL查询中包含参数--适当编码(这很痛苦)。
我是不会做那种事儿的。Web服务框架期望使用相应的HTTP方法执行某些类型的请求。这不利于REST,例如,实际上是GET的POST请求不会被缓存。这也不利于HTTP。
https://stackoverflow.com/questions/18998982
复制