Java Spring REST文档-更新REST测试生成的响应片段中的URI

Java Spring REST文档-更新REST测试生成的响应片段中的URI,java,spring,rest-assured,spring-restdocs,Java,Spring,Rest Assured,Spring Restdocs,当将REST-Assured与REST-Docs结合使用时,我遇到了一个问题,即请求的端口在哪里更新,但是响应中的所有HATEOAS链接都指向测试运行的任何地址 从REST文档中,我了解了如何使用预处理器更新请求: .addFilter(document("{class-name}/{method-name}/{step}", preprocessRequest( modifyUris().scheme("http") .host("localhost")

当将REST-Assured与REST-Docs结合使用时,我遇到了一个问题,即请求的端口在哪里更新,但是响应中的所有HATEOAS链接都指向测试运行的任何地址

从REST文档中,我了解了如何使用预处理器更新请求:

.addFilter(document("{class-name}/{method-name}/{step}", preprocessRequest(
    modifyUris().scheme("http")
          .host("localhost")
          .port(9999),
    removeHeaders("Accept"))))
但无法找到是否支持修改响应中的端口。例如,当我想将配置中的端口设置为9999时:

curl request.adoc:(这很好:localhost:9999)

响应主体。adoc:(我想将localhost:51123更改为localhost:9999)

是否有任何可接受的方式使用REST文档或REST Assured来修改响应的内容?我想我可以创建一个@AfterClass方法来解析和更新这些资源,但我希望有更干净的东西


[跟进] 我接受了下面Andy W.的回答,但想为任何有同样问题的人提供更多信息-

我的问题是,我尝试两次添加文档过滤器:

.addFilters(Arrays.asList(
    document("{class-name}/{method-name}/{step}",
        preprocessRequest(modifyUris().scheme("http")
                                    .host("localhost")
                                    .port(9999))),
    document("{class-name}/{method-name}/{step}",
        preprocessResponse(modifyUris().scheme("http")
                                       .host("localhost")
                                       .port(9999))))
vs.使用参数调用document方法:

RestDocumentationFilter文档(字符串标识符,OperationRequestPreprocessor请求预处理器,OperationResponseProcessor ResponseProcessor,代码段…代码段)

一旦我做出了改变,一切都按预期进行了。干杯

是的,有。发件人:

restassered上的
modifyUris
预处理器可用于修改请求或响应中的任何uri。当使用REST-Assured时,这允许您在测试服务的本地实例时自定义文档中出现的uri


感谢Andy的澄清,感谢Spring为您提供的所有精彩工作和支持!接受了你的回答,并在我的问题中添加了更多细节。
{
  "_links" : {
    "requests" : {
      "href" : "localhost:51123/request/data/requests{?page,size,sort,projection}",
      "templated" : true
    },
    "users" : {
      "href" : "localhost:51123/request/data/users{?projection}",
      "templated" : true
    },
    "profile" : {
      "href" : "localhost:51123/request/data/profile"
    }
  }
}
.addFilters(Arrays.asList(
    document("{class-name}/{method-name}/{step}",
        preprocessRequest(modifyUris().scheme("http")
                                    .host("localhost")
                                    .port(9999))),
    document("{class-name}/{method-name}/{step}",
        preprocessResponse(modifyUris().scheme("http")
                                       .host("localhost")
                                       .port(9999))))