JSON设计与开发;询问球衣

JSON设计与开发;询问球衣,json,curl,jersey,jackson,Json,Curl,Jersey,Jackson,我正在尝试设计一个JSON对象,它可以与Jersey和Jackson一起工作 我对JSON/Restful编程相当陌生,因此我想知道下面的内容是否可行 { "name": "myservice", "orders": [ { "name": "iphone", "description": "iPhone 5", "providers": [ { "name": "a",

我正在尝试设计一个JSON对象,它可以与Jersey和Jackson一起工作

我对JSON/Restful编程相当陌生,因此我想知道下面的内容是否可行

{
"name": "myservice",

"orders": [
    {
        "name": "iphone",
        "description": "iPhone 5",
        "providers": [
            {
                "name": "a",
                "description": "AT&T",
                "pricing": ["$40", "$70", "$120"]
            },
            {
                "name": "b",
                "description": "Verizon",
                "pricing": ["$45", "$60", "$85"]
            }
        ]
    },
    {
        "name": "galaxy3",
        "description": "Samsung Galaxy 3",
        "providers": [
            {
                "name": "a",
                "description": "AT&T",
                 "pricing": ["$45", "$60", "$85"]

            }
        ]
    }
]
}
获取有关iPhone Verizon提供商的所有信息:

 curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/b 
curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/a?pricing 
将返回:

{
   "name": "b",
   "description": "Verizon",
   "pricing": ["$45", "$60", "$85"]
}
获取iPhone AT&T提供商的定价列表:

 curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/b 
curl GET -H'Content-Type: application/json' https://mydomain/myservice/iphone/a?pricing 
将返回:

{

   ["$40", "$70", "$120"]

}

任何例子或反馈都将不胜感激

下面是关于定义REST API的一个很好的讨论:

以下是我将在您的json中更改的内容: 1.订单->订单,因为资源被声明为单数名词 2.提供者->提供者,因为相同的原因

如果我知道需要获得什么(使用复合资源),我会这样从客户端调用:

  • https:///myservice/order/iphone/provider/b
  • https:///myservice/order/iphone/provider/a/pricing
  • 如果您需要搜索订单,您可以定义如下请求:

  • https:///myservice/order?name=iphone
    ->它将返回“订单”列表中的第一个元素

  • 假设“名称”是各个资源(订单和供应商)的一个键。

    您有什么问题?什么不起作用?