在 REST 请求中添加地图的正确方法是什么

What is the proper way to add a map in a REST request

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

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

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

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

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