亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何建立一個接受任何請求的休息服務?

如何建立一個接受任何請求的休息服務?

白衣非少年 2024-01-05 10:24:43
我想測試我的集成服務。因此,我需要一個休息服務,它接受對任何 url 的任何請求并以 HTTP 200 響應 - OK。(稍后,答案將是可配置的,基于 url。)如何使用 spring-boot 構建這樣的服務?我嘗試使用自定義HandlerInterceptor,但這只有在網址公開時才有效:@Configurationpublic 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;    }  }}
查看完整描述

2 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

我認為 Spring Boot 整體上,特別是 Spring MVC 并不是為了簡單地做到這一點,所以任何解決方案總體來說都不會是簡單和好的。

所以,是的,攔截器在技術上可以是一個解決方案,但是接下來,您將如何配置實際答案(除了 200 狀態之外,還應該有一些數據發送回調用方部分)。要檢查的請求是一個 post 請求,您希望檢查一個非常具體的表單的正文。

根據您的評論

我想在本地啟動我的接受者服務。比起將其配置為我想在我的計算機上手動進行開發測試的服務的遠程服務。

考慮使用Wiremock作為模擬服務器。它的工作方式與mockito非常相似:您將能夠指定期望,例如“如果我使用以下參數調用遠程服務 - >返回該答案”等等。從技術上講,它回答了您的問題,因為您確實不需要為每個期望規范實現 enpoint,而這正是wiremock 所做的。

您甚至可以在測試期間使用 docker 中的測試容器運行它,這樣它將在測試開始時啟動并在測試結束時停止,但這是一個不同的主題。


查看完整回答
反對 回復 2024-01-05
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

我自己找到了答案。

我需要return ,而不是true在方法中返回。這將不允許進一步執行.preHandlefalseInterceptors



查看完整回答
反對 回復 2024-01-05
  • 2 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號