Rest API - >传递json字符串作为参数值

时间:2018-06-14 05:39:26

标签: json rest

是否建议在REST API中将JSON字符串作为参数值传递? 这是我要发送的数据:

  

http://127.0.0.1:8000/v1/product/?productName=&安培;度量= {"存储器":2" disk_space" 10}

在这里,可以将指标的值作为JSON值传递吗?

最初,我尝试在正文中传递指标JSON值。由于不支持/推荐标准,我已将其删除。

3 个答案:

答案 0 :(得分:1)

  

是否建议在REST API中将JSON字符串作为参数值传递?

REST是一种架构风格,它不会强制执行(甚至定义)将JSON字符串作为参数值传递的任何标准。

如果要在查询字符串中发送JSON,则必须先Go introduction

/v1/products?productName=&metrics=%7B%22memory%22%3A2%2C%22disk_space%22%3A10%7D

或者,您可以重新设计参数:

/v1/products?productName=&metrics.memory=2&metrics.diskSpace=10

如果网址太长(或查询太复杂要在查询字符串中表示),您可能需要考虑URL encode而不是POSTGET,然后在请求有效负载中发送JSON:

POST /v1/products/search HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "productName": "foo",
  "metrics": {
    "memory": 2,
    "diskSpace": 10
  }
}

答案 1 :(得分:0)

不建议在GET请求中发送JSON值。你可以做到这一点,但指标json可能很长,任何人都可以阅读内容。

您应该使用POST请求在正文中发送productNamemetrics等参数。

您应参阅this answer以获取详细说明。

答案 2 :(得分:0)

要使用内容类型应用程序Json,请在下面的行中使用

{{1}}

这与“ RestSharp”命名空间一起使用