【问题标题】:What is the proper way to add a map in a REST request在 REST 请求中添加地图的正确方法是什么
【发布时间】:2016-11-23 07:38:14
【问题描述】:

我正在使用 Google Endpoint,我想为我的一个实体创建一个 POST 请求以添加属性映射。正确的方法是什么? 我知道 Google Endpoint 可以接收 Collection 作为参数,但我想添加一个地图(未知键值)。 我应该将JSON 作为参数传递还是只在请求正文中添加JSON 并从HttpServletRequest 对象中提取它?

【问题讨论】:

    标签: rest google-app-engine google-cloud-endpoints


    【解决方案1】:

    每个 JSON 对象都是一个映射,因此它看起来是最明显的选择。 GSON 让它变得简单,但您也可以使用其他解析器。

    Type type = new TypeToken<Map<String, String>>(){}.getType();
    Map<String, String> myMap = gson.fromJson("{'k1':'apple','k2':'orange'}", type);
    

    【讨论】:

    • 并将其解析为什么? Entry&lt;String,String&gt;>?
    • 非常感谢。此外,我实际上看到,如果我在端点方法签名中添加一个参数Map&lt;String,String&gt; data,我会得到所有带有所有参数的 JSON
    【解决方案2】:

    我会避免将它作为参数传递。您可以在请求正文中发送它,然后使用 json 库获取 python 对象。

    https://docs.python.org/3/library/json.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2015-10-12
      相关资源
      最近更新 更多