如何在使用spring cloud合约时生成漂亮的打印文档

时间:2018-06-15 09:27:26

标签: spring-restdocs spring-cloud-contract

在没有引入spring cloud合约的情况下,我自定义了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和云契约的同时,我必须使用注释来启用rest docs和cloud contract,

@AutoConfigureRestDocs(uriHost = "theserver", uriPort = 80)
@AutoConfigureWebTestClient
public abstract class BaseTest {

有关如何在生成云合约存根时生成漂亮的打印文档的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以做的不是使用A_Impl,而是使用API​​传递给@AutoConfigureRestDocs WebTestClientRestDocumentation.documentationConfiguration(...)行。这样,默认情况下您将开始生成WireMock片段,并且不会丢弃以前的所有配置。