Spring REST Doc 未命名请求参数
Spring REST Doc unamed request parameter
我正在使用 Spring REST Docs library.
编写休息服务的文档
我遇到的一个问题是,我接受了一个 POST 请求,其中 JSON 结构作为没有任何名称的输入。
请求看起来像这样:
POST /images?limit=3&offset=12 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Content-Length: 289
{"acquisitionWindow":0,"platformName":"myPlatform","requireImageFile":false,"requireImageFileOrQuicklook":false,"strictPolygon":false,"showInternal":false,"imageNames":["%"],"startTimeOfYear":0,"stopTimeOfYear":0,"resolutionLowerBound":0.0,"resolutionUpperBound":0.0,"reducedResolution":0}
我想记录输入结构,但到目前为止还没有办法。
文档描述如下:
this.mockMvc.perform(get("/users?page=2&per_page=100"))
.andExpect(status().isOk())
.andDo(document("users", requestParameters(
parameterWithName("page").description("The page to retrieve"),
parameterWithName("per_page").description("Entries per page")
)));
但是我的参数没有名字。
到目前为止我已经尝试过:
requestParameters(
// TODO: Insert ImageSearch here
parameterWithName("{}").description("ImageSearch Structure "))
我也尝试过使用空名称 ("") 和数组符号 ("[]")。到目前为止运气不好。
是否可以记录未命名的参数,或者我应该将其包装在另一个结构中?
谢谢,
您可以在 org.springframework.restdocs.payload.PayloadDocumentation
上使用 requestFields
来记录请求中发送的 JSON 负载。例如:
this.mockMvc.perform(get("/users?page=2&per_page=100"))
.andExpect(status().isOk())
.andDo(document("users", requestFields(
fieldWithPath("acquisitionWindow").description("…"),
fieldWithPath("platformName").description("…"))));
有关更多详细信息,请参阅 Request and response payloads section of the documentation。
我正在使用 Spring REST Docs library.
编写休息服务的文档我遇到的一个问题是,我接受了一个 POST 请求,其中 JSON 结构作为没有任何名称的输入。
请求看起来像这样:
POST /images?limit=3&offset=12 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Content-Length: 289
{"acquisitionWindow":0,"platformName":"myPlatform","requireImageFile":false,"requireImageFileOrQuicklook":false,"strictPolygon":false,"showInternal":false,"imageNames":["%"],"startTimeOfYear":0,"stopTimeOfYear":0,"resolutionLowerBound":0.0,"resolutionUpperBound":0.0,"reducedResolution":0}
我想记录输入结构,但到目前为止还没有办法。
文档描述如下:
this.mockMvc.perform(get("/users?page=2&per_page=100"))
.andExpect(status().isOk())
.andDo(document("users", requestParameters(
parameterWithName("page").description("The page to retrieve"),
parameterWithName("per_page").description("Entries per page")
)));
但是我的参数没有名字。
到目前为止我已经尝试过:
requestParameters(
// TODO: Insert ImageSearch here
parameterWithName("{}").description("ImageSearch Structure "))
我也尝试过使用空名称 ("") 和数组符号 ("[]")。到目前为止运气不好。
是否可以记录未命名的参数,或者我应该将其包装在另一个结构中?
谢谢,
您可以在 org.springframework.restdocs.payload.PayloadDocumentation
上使用 requestFields
来记录请求中发送的 JSON 负载。例如:
this.mockMvc.perform(get("/users?page=2&per_page=100"))
.andExpect(status().isOk())
.andDo(document("users", requestFields(
fieldWithPath("acquisitionWindow").description("…"),
fieldWithPath("platformName").description("…"))));
有关更多详细信息,请参阅 Request and response payloads section of the documentation。