参数作为POST方法上的请求参数

时间:2019-09-03 20:54:26

标签: java rest spring-boot post

这个问题是关于最佳实践的,而不是问题。

我正在编写spring boot休息服务,该服务将执行更新,这意味着基本上我正在执行POST操作。输入参数类似于userIdnameemailAddressphoneNo

所以我的问题是,我可以做下面的事情吗?只需使用POST来告知这是更新uri,但将所有参数作为请求参数而不是requestBody

@PostMapping(value="/my-url )
    public ResponseEntity<?> myMethod(
          @RequestParam(value = "userId")  String userId,
          @RequestParam(value = "name")  String name,
          @RequestParam(value = "emailAddress")  String emailAddress,
          @RequestParam(value = "phoneNo")  String phoneNo){

我知道这可行,但是可以接受吗? 如果可以的话,如果我们以requestparam的形式传递参数,将请求类型用作POST的目的是什么。 感谢专家的观点。

1 个答案:

答案 0 :(得分:1)

是的。说到最佳实践,我相信最好的方法是创建一个更好的@RequestBody参数表的模型,然后在url中传递多个参数。此外,创建模型可以确保所有可能的参数都是固定的,而且您不再需要考虑其强制性。 顺便说一句。更新操作的最佳做​​法是PUT,而不是POST请求