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