我使用 React 作為前端,Java Spring Boot 作為后端。React 將 JSON 表單資料作為 GET/PUT/POST 請求發送到我的后端 url (http://localhost:8080/test)。現在,我不想將此 JSON 轉發到另一個介面GET端點(https://another/interface/add?id={id})。然后,此介面根據 id 查詢資料庫并使用我需要顯示的 JSON 回復回答 200 OK 訊息(發送回前端)。
1.從Spring Boot后端向另一個介面發送請求的正確方法是什么?以同樣的方法我捕獲了前端資料?
2.我還必須為 GET 請求設定 HTTP 標頭,我該怎么做呢?
前端如何將 id 欄位作為 JSON 發送到后端的示例:
React POST
addId = async (data) => {
return this.post(/localhost:8080/test/id, data)
}
后端如何接收 id 欄位的示例:
Spring Boot POST
@PostMapping("test/id")
public String test(@RequestBody String id) {
return id;
}
uj5u.com熱心網友回復:
據我了解,您想使用 json body 和 httpstatuscode 200 從后端獲取資料。我對嗎?
也許你可以試試這個
@GetMapping(/interface/add)
public ResponseEntity<?> test(@RequestParam("id") String id){
//write code you want
return ResponseEntity.status(HttpStatus.OK).body("string" or dto possible);
}
ResponseEntity 發送帶有 httpstatus 代碼的正文,如果你想發送 requestparam 你將@RequestParam注釋設定為 set 。
- 當我用springboot做專案并做出反應時。我使用 json 型別來交換資料。大多數服務通常使用 json 資料型別交換資料。
2.如果您將資料 React 發送到 springboot,我對這個問題感到困惑,您的代碼是正確的
Axios.get("localhost....", data),您可以更改 http 型別
Axios.(get, post, delete)
uj5u.com熱心網友回復:
您好,要回答您的兩個問題,您應該使用作為 Spring Web 反應模塊一部分的 Webclient。在此處閱讀更多相關資訊。https://www.baeldung.com/spring-5-webclient
由于您的要求是與不同的主機(我假設)有一些其他介面,因此您可以有一個單獨的 springboot 服務器專門為此目的運行,您可以從現有的 spring boot 后端應用程式發出出站請求。您還可以在我上面提到的同一鏈接中查看如何將標頭附加到出站請求。
PS:我不建議在您現有的 springboot 應用程式本身中使用介面。如果你想這樣做,它也可以支持。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/425715.html
上一篇:試圖理解為什么這個執行溢位
下一篇:Tomcat服務器上的java.lang.IllegalArgumentException錯誤-SpringMVC
