我正在尝试使用 JPA 和 RESTful api 将对象持久保存到我的数据库中。在 postman 中测试 post 方法时,它可以工作并且成功地将行插入到数据库中。但是,在 chrome 中测试时,它给了我一个 HTTP 错误 - 405 方法不允许?这是我的方法@POST@Consumes(MediaType.APPLICATION_JSON)@Path("{description}/{name}")public Response postHobby( @PathParam("description") String description, @PathParam("name") String name) { fHobby.postHobby(description, name); return Response.ok("success").build();}我的 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion><groupId>com.mycompany</groupId><artifactId>Krak</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>Krak</name><properties> <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> <version>2.5.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency>如果您愿意,我可以提供任何其他信息
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
这很可能是因为您只是通过在浏览器的地址栏中输入 URL 并按回车键来调用它(我得出这个结论是因为您正在使用@PathParam
这意味着您可以直接在 URL 中嵌入所需的数据)。这将导致HTTP GET
. 您的方法声明它是一个接受HTTP POST
请求的 HTTP 端点。因此,应用程序服务器将返回 a,405 Method not allowed
因为它不接受HTTP GET
该端点的请求。
添加回答
举报
0/150
提交
取消