java rest API post方法给出了不允许的HTTP 405方法

我正在尝试使用 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>

如果您愿意,我可以提供任何其他信息


斯蒂芬大帝
浏览 369回答 2
2回答

慕哥9229398

这很可能是因为您只是通过在浏览器的地址栏中输入 URL 并按回车键来调用它(我得出这个结论是因为您正在使用@PathParam这意味着您可以直接在 URL 中嵌入所需的数据)。这将导致HTTP GET.&nbsp;您的方法声明它是一个接受HTTP POST请求的 HTTP 端点。因此,应用程序服务器将返回 a,405 Method not allowed因为它不接受HTTP GET该端点的请求。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java