gpt4 book ai didi

json - POJO 中的空字段,带有 application/json 和 BeanParam

转载 作者:行者123 更新时间:2023-12-01 12:31:00 24 4
gpt4 key购买 nike

我在 Controller 类中定义了一个 REST 服务操作,如图所示:

@POST
@Consumes({MediaType.APPLICATION_JSON})
@Path("create")
public Response createWidget(@BeanParam Widget widget) {
...
}

Widget 是一个 POJO bean 类,即 2 个名为 foo 的私有(private)字段& bar类型 String带有公共(public) getter 和 setter,以及一个公共(public)的无参数构造函数。

POST 请求正文是:
{ "foo": "Some text", "bar": "Some more text" }

并且有标题 Content-Type: application/json
在发出此请求时, createWidget方法获取 Widget对象作为参数,但两者都是 String字段为 null .

有人可以告诉我要填充这些字段还需要什么?我认为 POJO bean 类中可能需要一些注释。如果内容类型是 application/x-www-form-urlencoded ,那么我知道字段应该注释 @FormParam ,但我不确定 application/json 的注释应该是什么内容。

非常感谢你的帮助...
- 享受

最佳答案

一般情况下,除了一些表单注解外,body 参数不需要任何注解。这实际上就是 JAX=RS 将如何确定它是主体。所以你只能有一个非注释参数,因为你只能有一个主体。因此,只需更改您所拥有的内容(只需删除 @BeanParam 。只要您有 JSON 提供程序,它就应该可以工作。

@POST
@Consumes({MediaType.APPLICATION_JSON})
@Path("create")
public Response createWidget(Widget widget) {

关于json - POJO 中的空字段,带有 application/json 和 BeanParam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34230169/

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