Bayangkan saya memiliki kelas berikutnya

public class MyDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    private String id;
    private Map<String, String> names;

    // public Getters and Setters
}

Ketika saya menggunakan kode berikutnya untuk mendokumentasikannya dengan Spring

private static FieldDescriptor[] myDTOFields() {
  return new FieldDescriptor[] { 
    fieldWithPath("id").description("id description"),
    fieldWithPath("names").description("Names description") };
}

Itu tidak berfungsi dan saya mendapatkan kesalahan.

org.springframework.restdocs.snippet.SnippetException: Bagian payload berikut tidak didokumentasikan:

{
  "names" : {
    "en" : "test"
  }
}

Jadi bagaimana saya bisa mendokumentasikan java.util.Map dengan dokumen pegas?

Terima kasih :)

4
mibrahim.iti 21 November 2017, 00:16

1 menjawab

Jawaban Terbaik

Seperti yang dijelaskan dalam dokumentasi, Anda dapat menggunakan PayloadDocumentation.subsectionWithPath(“names”) untuk ini. Ini berarti bahwa REST Docs menganggap names dan semua yang ada di dalamnya telah didokumentasikan.

11
Andy Wilkinson 21 November 2017, 19:55