如何在使用 spring 云合同时生成漂亮的打印文档
How to generate pretty print docs while using spring cloud contract
不引入spring云合约,我自定义restdocs的配置如下,
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();
protected WebTestClient http;
@Autowired
private ApplicationContext context;
/**
* setup.
*/
@Before
public void before() {
this.http = WebTestClient.bindToApplicationContext(context)
.configureClient()
.baseUrl("http://theserver")
.filter(WebTestClientRestDocumentation
.documentationConfiguration(this.restDocumentation)
.operationPreprocessors()
.withRequestDefaults(prettyPrint())
.withResponseDefaults(prettyPrint())
)
.build();
}
然而,在同时使用 spring restdocs 和 cloud contract 时,我必须使用注释来启用 rest docs 和 cloud contract,
@AutoConfigureRestDocs(uriHost = "theserver", uriPort = 80)
@AutoConfigureWebTestClient
public abstract class BaseTest {
关于如何在生成云合同存根时生成漂亮的打印文档有什么建议吗?
您可以做的是不使用 @AutoConfigureRestDocs
,而是使用 API 将 .snippets().withAdditionalDefaults(new WireMockSnippet())
行传递给 WebTestClientRestDocumentation.documentationConfiguration(...)
。这样默认情况下您将开始生成 WireMock 片段并且您之前的所有配置都不会被丢弃。
不引入spring云合约,我自定义restdocs的配置如下,
@Rule
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();
protected WebTestClient http;
@Autowired
private ApplicationContext context;
/**
* setup.
*/
@Before
public void before() {
this.http = WebTestClient.bindToApplicationContext(context)
.configureClient()
.baseUrl("http://theserver")
.filter(WebTestClientRestDocumentation
.documentationConfiguration(this.restDocumentation)
.operationPreprocessors()
.withRequestDefaults(prettyPrint())
.withResponseDefaults(prettyPrint())
)
.build();
}
然而,在同时使用 spring restdocs 和 cloud contract 时,我必须使用注释来启用 rest docs 和 cloud contract,
@AutoConfigureRestDocs(uriHost = "theserver", uriPort = 80)
@AutoConfigureWebTestClient
public abstract class BaseTest {
关于如何在生成云合同存根时生成漂亮的打印文档有什么建议吗?
您可以做的是不使用 @AutoConfigureRestDocs
,而是使用 API 将 .snippets().withAdditionalDefaults(new WireMockSnippet())
行传递给 WebTestClientRestDocumentation.documentationConfiguration(...)
。这样默认情况下您将开始生成 WireMock 片段并且您之前的所有配置都不会被丢弃。