【问题标题】:Using DELETE/PUT method in Browser [duplicate]在浏览器中使用 DELETE/PUT 方法[重复]
【发布时间】: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 请求

标签: java html jax-rs


【解决方案1】:

我不确定它是否可以通过表单完成,但您可以使用 JavaScript 发送 XMLHTTP-Requests。 Axios 是一个伟大而简单的库:https://github.com/axios/axios

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2011-07-07
    • 2013-05-14
    • 2021-12-08
    • 2013-03-26
    • 2011-10-01
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多