gpt4 book ai didi

java - 从 JAX-RS 中的 JSON 请求获取简单的 JSON 参数

转载 作者:搜寻专家 更新时间:2023-10-31 20:03:25 26 4
gpt4 key购买 nike

客户端/浏览器向我的 rest 资源发出 JSON 请求(请求的内容类型为 application/json,相应的 REST 方法为 @Consumes("application/json") 注释)。

@Path("/process-something")
@POST
@Produces("application/json")
@Consumes("application/json")
@HandleDefaultExceptions
public AResponse processSomething(List<Long>) {

}

JSON 主体由一些简单的类型组成,例如 List<Long>String .

是否有一种简单的可能性来注入(inject) JSON 参数,只是以某种方式对其进行注释,类似于 @FormParamapplication/x-www-form-urlencoded 的情况下要求?我想要一些比使用 Jackson 的 ObjectMapper 解码 JSON 字符串更简单的解决方案。或 Jettison 的 JSONObject .

最佳答案

您可以创建一个 Java 类来反射(reflect)您的 JSON 对象的数据模型,并使用 JAXB 的 @XmlRootElement 对其进行注释。您可以使用 @XmlElement 注释将属性映射到自定义 JSON 键名称,例如:

@XmlRootElement
public class MyJSONOject{
@XmlElement(name="json-key-name")
public String attribute;
}

然后 Jersey 可以透明地为您解码 JSON 对象,瞧!

@Path("/process-something")
@POST
@Produces("application/json")
@Consumes("application/json")
public AResponse processSomething(MyJSONOject json) {
log.fine(json.attribute);
}

关于java - 从 JAX-RS 中的 JSON 请求获取简单的 JSON 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17970969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com