Java 如何在一个控制器中解决两个POST方法

Java 如何在一个控制器中解决两个POST方法,java,rest,post,Java,Rest,Post,我正在使用RESTAPI,在我的用户控制器中有以下方法 @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public User login(UserLogin userLogin){ 另一种方法是 @POST @Consumes(MediaType.APPLICATION_JSON) public boolean register(User user){ 我想在登录按钮点击时调

我正在使用RESTAPI,在我的用户控制器中有以下方法

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public User login(UserLogin userLogin){
另一种方法是

@POST
@Consumes(MediaType.APPLICATION_JSON)
public boolean register(User user){
我想在登录按钮点击时调用login方法,很明显,在注册按钮点击时调用register方法。UserLogin类只有两个属性(电子邮件和密码)。用户拥有姓名、地址、联系人等重要文件

我的休息电话
http://localhost:8080/... / ... /用户
在登录按钮单击时正确路由到login方法,但它在注册按钮单击时再次调用相同的方法,并引发一个异常,即用户名等字段未为UserLogin类定义

为什么这两次点击会被路由到同一个方法?
如何解决此问题?

添加@Path注释,为每个方法定义唯一的路径

例如:

@Path("/register")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public boolean register(User user){

然后使用
http://localhost:8080/... / ... /用户/注册

如果没有不同的路径,则无法使用。您希望应用程序如何确定选择哪一个?关闭方法参数?那不行。如果你真的想让它工作,你可以破解它,但它看起来很难看,我甚至不推荐它