【问题标题】:Jersey Deserialize Post Param with an additional IdJersey 反序列化带有附加 ID 的 Post 参数
【发布时间】:2013-01-15 17:56:56
【问题描述】:

我只是想知道如何修改以下内容

@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response createObject(Object object) {
    ...
}

也允许路径参数?我在想类似的东西

@POST
@Path("{server}")
@Consumes(MediaType.APPLICATION_JSON)
public Response createObjectOnServer(@PathParam("server") String url, Object object) {
    ...
}

但这要么是错误的,要么我不知道 json 的结构应该如何。

【问题讨论】:

  • 第一段代码有效吗?
  • 是的。使用 JQuery ajax() 进行调用正常工作。
  • 发生了什么?你有错误吗?问题可能出在许多领域。客户如何调用此代码?为什么要发送 URL 作为路径参数而不是仅使用 URL 路径?最后,你想让代码做什么?
  • servlet可以调用其他节点上的同一个servlet,不用担心xss。
  • 您确定要 PathParam 而不是 PostParam? PathParam 是 URL 的一段;它与 JSON 无关。

标签: java web-services jakarta-ee jersey


【解决方案1】:

第二个代码块应该可以在我的项目中工作:

@POST
@Path("/{mode}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String renderWidget(@PathParam("mode") String mode,RenderingRequest renderingRequest){
    ...
}

其中'mode'是一个路径参数,'RenderingRequest'是一个映射请求主体(一个json)的pojo。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 2015-09-12
    • 2021-07-17
    • 2013-07-06
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多