공부기록/Spring

Spring-Rest Docs(3)

jhs0129 2022. 8. 16. 13:26
320x100
반응형

목차

  1. Spring-Rest Docs(1)
  2. Spring-Rest Docs(2)
  3. Spring-Rest Docs(3) <- 현재글

Snippets

Default

AbstractRestDocsTests에서 mockMvc설정때 했던
documentationConfiguration(restDocumentation)에서 기본적으로 defaultSnippets리스트에 기본 6개의 Snippet을 제공한다

Default Snipptes

alwaysDo()가 실행 될때 default 6개파일이 생성이 되고 추가적으로 생성을 원할 시에 document()내부에 선언을 해주면 된다

추가 Snippet

Snippet의 이름만 봐도 어느곳에 사용해야 하는지 알 수 있다 나중에 필요할 때 찾아서 사용하면 될 듯하다

  • RequestFieldsSnippet
  • PayloadDocumentation.requestFields()
  • RequestPartFieldsSnippet
  • PayloadDocumentation.requestPartFields()
  • ResponseFieldsSnippet
  • PayloadDocumentation.responseFields()
  • RequestPartBodySnippet
  • PayloadDocumentation.requestPartBody()
  • ResponseHeadersSnippet
  • HeaderDocumentation.responseHeaders()
  • RequestHeadersSnippet
  • HeaderDocumentation.requestHeaders()
  • RequestParametersSnippet
  • RequestDocumentation.requestParameters()
  • PathParametersSnippet
  • RequestDocumentation.pathParameters()
  • RequestPartsSnippet
  • RequestDocument.requestParts()
  • LinksSnippet
  • HypermediaDocumentation.links()

Descriptor

  • HeaderDescriptor
  • ParameterDescriptor
  • LinkDescriptor
  • FieldDescriptor
  • SubsectionDescriptor
  • RequestPartDescriptor

Custom Snippet

커스텀을 원하는 adoc파일의 이름을 가진 .snippet파일을
src/test/resources/org/springframework/restdocs/templates/asciidoctor 해당 directory 밑에 만들어서 커스텀을 진행을 한다

request-fields.adoc -> request.fields.snippet

커스텀 진행시에는 Mustache 문법을 사용해서 진행을 한다

  • 제약조건과 optional 추가시
  • .{{title}} |=== |Path|Type|Description|Constraints|Optional

{{#fields}}
|{{path}}
|{{type}}
|{{description}}
|{{constraints}}
|{{optional}}
{{/fields}}

|===
```

320x100
반응형