1

我们需要以下列形式对呼叫作出响应:

{
  "3" : {
    "id" : "3",
    "parent" : "1",
    "title" : "Folder 2",
    "folder" : true
  },
  "4" : {
    "id" : "4",
    "parent" : "2",
    "title" : "Folder 1.1",
    "folder" : true
  },
  "doc:3" : {
    "parent" : "3",
    "title" : "Document 3",
    "folder" : false
  },
  "doc:2" : {
    "parent" : "2",
    "title" : "Document 2",
    "folder" : false
  },
  "doc:1" : {
    "parent" : "3",
    "title" : "Document 1",
    "folder" : false
  }
}

我应该如何记录它?问题是该对象是以 EntryId 作为键的结构,并且在其文档时不包含 id。有没有可以使用变量来定义键的选项?或者推荐在 responseFields 中使用什么?

4

1 回答 1

1

我遇到了 Andy Wilkinson 在评论中指出的相同问题,而不是在 ascii.doc 中对其进行硬编码,而是这样做:

  ,relaxedResponseFields(
     fieldWithPath("key").description(getMessage(MessageProperties.TRANSLATION_RESOURCE_MAP_KEY)).type(MessageProperties.TYPE_STRING).optional(),
     fieldWithPath("value").description(getMessage(MessageProperties.TRANSLATION_RESOURCE_MAP_KEY_VALUE)).type(MessageProperties.TYPE_MAP).optional(),
     fieldWithPath("value[].key").description(getMessage(MessageProperties.TRANSLATION_RESOURCE_MAP_KEY_VALUE_KEY)).type(MessageProperties.TYPE_LONG).optional(),
     fieldWithPath("value[].value").description(getMessage(MessageProperties.TRANSLATION_RESOURCE_MAP_KEY_VALUE_KEY_VALUE)).type(MessageProperties.TYPE_STRING).optional()
  )

检查如何将对象的响应字段记录为 Map(HashMap)以获取有关问题的更多信息以及它是否真的喜欢你的问题。

于 2016-09-28T15:30:19.477 回答