当我尝试创建Object的实例并将其存储到数据库中时,我收到此错误:
org.springframework.web.bind.MissingServletRequestParameterException
方法的代码:
@PostMapping(path="accounts/add", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
public
@ResponseBody
String addAccount(@RequestParam String accountNumber, @RequestParam String accountName ) {
Account account = new Account();
account.setAccountName(accountName);
account.setAccountNumber(accountNumber);
accountRepository.save(account);
return "Saved";
}
当我使用PostMan并尝试输入JSON时,它会给我这条消息。我做错了什么?
答案 0 :(得分:0)
由于您的POST(或PUTing?)JSON作为内容正文,因此您无法使用@RequestParam
对其进行解构。这用于查询或表单参数。您需要使用@RequestBody
指定单个方法参数,该类是类似于以下内容的类。
public class Account {
public String accountNumber;
public String accountName;
// setters and getters removed for brevity
}
有关详细信息,请参阅此答案:@RequestBody and @ResponseBody annotations in Spring