java - 添加 POST 正文时无法读取路径参数

标签 java rest wildfly resteasy

当我添加 POST 正文时,无法读取路径参数。

public class POJO {
    public int id;

    public void setId(int id){
        this.id = id;
    }
}

...

@POST
@Path("/test/{a}/{b}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public Response test(@PathParam("a") String a, @PathParam("b") String b, POJO pojo){
     // a has the value of the POST body
     // b is empty
     // pojo is null
}

我发布到 /测试/x/y

正文:

{
    "id" : 1
}

标题:

Content-Type : application/json

我查看了示例 https://docs.jboss.org/resteasy/2.0.0.GA/userguide/html_single/ 并且不明白为什么我无法读取路径参数。 这是一个 JBoss 示例:

@POST
@Path("book/{id}/comments")
public void addComment(@PathParam("id") String bookId, Comment comment);

最佳答案

谢谢@davidhxxx,我的问题是 PathParam 的导入不正确。

我有import javax.websocket.server.PathParam;而不是import javax.ws.rs.PathParam;

关于java - 添加 POST 正文时无法读取路径参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38513682/

相关文章:

java - 如何向 JFrame 添加文本?

java - 将值从 JTextField 传递到 ActionListener

java - 野蝇 8/JAX-RS : UriInfo is null when injected into RequestScoped bean

javascript - 如何通过在 javascript 中传递实体来进行 post 方法 ajax 调用?

java - JNDI 上下文仅工作一次(使用 jUnit 进行 EJB 测试)

jndi - 通过 JNDI 访问 Wildfly <system-properties><property>

java - Maven - 在当前项目中找不到前缀为 'wildfly' 的插件

java - ByteBuffer 到字节数组

java - 从多维获取字符串

rest - 使用 Go(Golang) 清除先前的请求 RESTFul?