2015-12-10 79 views
1

我使用REST API和在我的用户控制器以下方法如何分辨两个POST方法在一个控制器

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public User login(UserLogin userLogin){ 

等方法

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

我想在调用登录方法登录按钮点击和相当明显的注册方法注册按钮点击。 UserLogin类只有两个attibs(电子邮件和密码)。用户有像名称,地址,联系等meder fileds

我的REST调用http://localhost:8080/.../... /user正确路由登录方法在登录按钮点击,但它再次调用相同的方法登记点击并抛出一个异常,像name等字段是未定义的UserLogin类。

为什么你的两次点击被路由到相同的方法? 如何解决这个问题?

+0

你不能没有不同的路径。您如何期望应用程序确定选择哪一个?关闭方法参数?这不会奏效。如果你真的想让它工作,你可以破解它,但它看起来很丑,我甚至不会推荐它 –

回答

3

添加@Path注释以定义每种方法的唯一路径。

例如:

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

然后调用你的方法与http://localhost:8080/.../... /user/register

相关问题