【问题标题】:how to resolve two POST methods in one controller如何在一个控制器中解析两种 POST 方法
【发布时间】:2015-12-10 16:30:14
【问题描述】:

我正在使用 REST api,并且在我的用户控制器中有以下方法

@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 类只有两个属性(电子邮件和密码)。用户有诸如姓名、地址、联系方式等卑鄙的文件

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

为什么你的两次点击会被路由到同一个方法? 如何解决?

【问题讨论】:

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

标签: java rest post


【解决方案1】:

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

例如:

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

然后使用http://localhost:8080/... / ... /user/register 调用您的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多