Java 休息 : @GET and @PUT at the same path?

标签 java rest get jax-rs put

我目前正在尝试使用 JAX-RS 学习 Java REST 的基础知识。

this exampleUserService 类(靠近底部)中@GET@PUT 方法都具有相同的 @path 注释:

@GET
@Path("/users")
@Produces(MediaType.APPLICATION_XML)
public List<User> getUsers() {
   return userDao.getAllUsers();
}

@PUT
@Path("/users")
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String createUser(@FormParam("id") int id,
   @FormParam("name") String name,
   @FormParam("profession") String profession,
   @Context HttpServletResponse servletResponse) throws IOException {
   User user = new User(id, name, profession);
   int result = userDao.addUser(user);
   if(result == 1) {
      return SUCCESS_RESULT;
   }

   return FAILURE_RESULT;
}

考虑到它们都指向相同 @path,程序如何知道要调用哪个方法?

最佳答案

资源类有方法,当特定的HTTP方法请求时被调用,称为资源方法。为了创建将使用特定 HTTP 方法调用的 Java 方法,必须实现常规 Java 方法并使用 JAX-RS @HttpMethod 注释的注释之一进行注释 (即,@GET 、@POST、@PUT 和@DELETE)。

有关更多信息,请查看此 example1example2

关于Java 休息 : @GET and @PUT at the same path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35141291/

相关文章:

javascript - AJAX 请求在 jQuery 中失败但在 NodeJS 中没有

php - 在 _GET 中发送数组

java - 如何使用facebook批量请求在一个请求中获取多个url的共享计数

java - 无法让我的组合框和按钮工作。实现带有按钮的框时出现问题

java - 无法将 java 项目转换为动态项目,Project Facets 按钮在哪里?

android - 改造okhttp获取随机eofexception

django - 最大图像上传大小验证 Django REST API

java - 获取 ArrayList 中具有最高值的特定元素

python - Flask 和 POST/GET 的问题

java - 将我的 java 程序转换为可执行文件后,所有 .txt 文件都没有被读取