Java 如何构建一个接受任何请求的rest服务?

Java 如何构建一个接受任何请求的rest服务?,java,rest,spring-boot,Java,Rest,Spring Boot,我想测试我的集成服务。因此,我需要一个rest服务,它接受任何url的请求,并用HTTP200-OK响应。(稍后,答案应根据url进行配置。) 如何使用spring boot构建这样的服务 我尝试使用自定义的HandlerInterceptor,但这仅在url公开时有效: @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptor

我想测试我的集成服务。因此,我需要一个rest服务,它接受任何url的请求,并用HTTP200-OK响应。(稍后,答案应根据url进行配置。)

如何使用spring boot构建这样的服务


我尝试使用自定义的
HandlerInterceptor
,但这仅在url公开时有效:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new AllAccessInterceptor());
  }

  private static class AllAccessInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle() {
      response.setStatus(HttpServletResponse.SC_OK);
      return true;
    }

  }

}

我自己找到了答案


我需要返回
false
,而不是在
preHandle
方法中返回
true
。这将不允许进一步执行
拦截器

我认为spring boot(整体)和spring mvc(特别是spring mvc)并不是为了简单地实现这一点,因此任何解决方案都不会是简单和好的

因此,是的,拦截器在技术上可以是一个解决方案,但是,您将如何配置实际答案(除了200状态之外,还应该有一些数据发送回调用方部分)。要检查的请求是post请求,您希望检查非常特定表单的主体

根据你的评论

我想在本地加快我的接受者服务。然后将其配置为远程服务,以便在我的计算机上手动开发测试

考虑将其用作模拟服务器。它的工作原理很像mockito: 您可以指定期望值,如“如果我使用以下参数调用远程服务->返回该答案”等等。从技术上讲,它回答了您的问题,因为您确实不需要为每个期望规范实现enpoint,这正是wiremock所做的


您甚至可以在测试期间使用docker中的测试容器运行它,以便它在测试开始时启动,在测试结束时停止,但这是一个不同的主题。

查看是否可以将其用作参考点。。。那么,您想将集成服务URL和HTTP方法作为请求参数传递给测试rest服务吗?这不是我想要的。此项目仅公开2个端点。我希望能够获取、发布和修补我能想到的任何端点,而无需实现端点。@sadia不完全是这样。我想在本地加快我的接受者服务。而不是将其配置为远程服务,以便在我的机器上手动开发测试服务。谢谢,这正是我想要的。