0

Spring REST Docs ライブラリを使用して、残りのサービスのドキュメントを作成しています。

私が抱えている問題は、名前のない入力として JSON 構造を持つ POST 要求を受け入れることです。

リクエストは次のようになります。

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 "))

空の名前("")と配列表記("[]")も試しました。これまでのところ運がありません。

名前のないパラメーターを文書化することは可能ですか、それとも別の構造でラップする必要がありますか?

ありがとう、

4

1 に答える 1

1

requestFieldsonを使用しorg.springframework.restdocs.payload.PayloadDocumentationて、リクエストで送信される JSON ペイロードを文書化できます。例えば:

this.mockMvc.perform(get("/users?page=2&per_page=100")) 
    .andExpect(status().isOk())
    .andDo(document("users", requestFields( 
            fieldWithPath("acquisitionWindow").description("…"), 
            fieldWithPath("platformName").description("…"))));

詳細については、ドキュメントのリクエストとレスポンスのペイロードのセクションを参照してください。

于 2016-10-05T14:39:53.903 に答える