簡體   English   中英

帶RequestBody的POST請求不起作用

[英]POST request with RequestBody is not working

在下面的示例中,我正在使用POST和GET方法。 post是初始化一個變量,而GET是得到這個變量。 我使用郵遞員發出請求。

我收到一個錯誤

@RequestBody(value = "val") //cant resolve method value

請讓我知道如何解決belwo錯誤,以便我可以使用post方法進行初始化並獲取methdo來檢索值

控制器1

@Controller
@RequestMapping("/call1")
public class Call1 {

public String str = "inti";

@RequestMapping(value = "/intiparam1", method = RequestMethod.POST)
public void intiParam1(@RequestBody(value = "val") String val) {
    this.str = val;
}

@RequestMapping(value = "/getparam1", method = RequestMethod.GET)
public String getParam1() {
    return this.str;
}
}

什么時候使用@RequestBody

您不能使用它的價值 當您有多個要執行操作的字段實體時,可以使用此功能。 假設您要保存用戶,則可能需要先創建用戶模型並在控制器@RequestBody

模型:

public class User
{
   @Id
   private int id;
   private String firstname;
   private String lastname;
   //Getters-Setters, AllArgConstructor-constructor
}

@RequestMapping(value = "/requestBodyExample", method = RequestMethod.POST)
public String intiParam1(@RequestBody User user) {
     return user.getFirstname();
}

Spring Boot快速入門

創建一個類Variable,並在控制器中使用其他代碼。

class Variable {

String data= 'val';
}

@RequestMapping(value = "/intiparam1", method = RequestMethod.POST)
public void intiParam1(@RequestBody Variable val) {
    this.str = val.data;
}

發出請求時,將json作為{“ data”:“ 12345”}傳遞

然后在代碼中使用@RequestBody變量v而不是String,因為它可以滿足您的默認值需求,並且可以使代碼可擴展,因為將來可以根據需要向現有變量添加不同的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM