【发布时间】:2020-10-25 14:25:04
【问题描述】:
我正在使用 Jersey (JAX-RS) 开发 Java Web 应用程序项目(Maven 项目)。
通过邮递员请求,我能够处理 @DELETE/@PUT 请求。但是当我尝试在 frontend 中实现这些方法时,浏览器将始终显示错误(405 – Method Not Allowed)。
我知道HTML不支持DELETE/PUT方法,但是有<form method="delete/put">吗?
或者甚至可以通过浏览器处理这些请求?
谢谢
后端实现:
@PUT
@Path("/edit/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Person editUser(
@PathParam("id") Long id,
Student user) {
return repository.update(user, id); //update User
}
@DELETE
@Path("/delete/{id}")
@Produces(APPLICATION_JSON)
public Person deleteUserById(@PathParam("id") Long id) {
return repository.delete(id); //delete User
}
【问题讨论】:
-
如果您提供前端代码向我们展示您当前的尝试,那就太好了。
-
不,表单方法支持的唯一值是 GET、POST 和 DIALOG:developer.mozilla.org/en-US/docs/Web/HTML/Element/… 要调用 PUT 或 DELETE 端点,您通常需要 AJAX / XMLHTTP 请求