我对springboot还不熟悉,所以我只是想弄清楚一些事情。在我观看的一个教程中,我注意到讲师做了如下操作:
@GetMapping
public String register(User user) {
return "register";
}
有人能解释一下这是怎么回事吗。我认为用户被传递到视图“register”是对的吗?
另外,如果没有用户传递给这个方法,它只会使用一个新的用户对象。在这种情况下应该使用自动连线吗?
本例中的user类实现userdetails。
如果我说我对spring boot还不熟悉,那么我的术语就错了
1条答案
按热度按时间lrl1mhuk1#
一般来说,我没有遇到过很多你有
GetMapping
有这样一个“裸”(无注解)对象参数。通常,获取方法请求的参数将用注解修饰,例如
@RequestParam
或者@PathVariable
. 既然您现在已经有了代码,我立即认为这个方法需要一个User
对象作为@RequestBody
. 但在我看来,对尸体的要求很奇怪。我能想到的唯一例外是,这是一种注入当前登录用户的方法。但在这种情况下,我只是通过一个 Spring 保安看到了这一点
Principal
对象。我不太确定UserDetail
对象是这样工作的,但我可能错了。如果是这样的话,那么您就有一个“特殊用法”的例子,其中spring自动注入当前登录的用户,因为它将其识别为UserDetail
.否则,我不知道spring应该把一个
User
如果不是来自@RequestBody
或者别的什么。现在,我希望User
对象始终为空。