相关疑难解决方法(0)

我如何使用Jersey JSON POJO支持?

我有一个对象,我想在JSON中作为RESTful资源提供服务.我打开了Jersey的JSON POJO支持(在web.xml中):

<servlet>  
    <servlet-name>Jersey Web Application</servlet-name>  
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>  
</servlet>  
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问该资源时,我得到了以下异常:

SEVERE: A message body writer for Java type, class com.example.MyDto, and MIME media type, application/json, was not found
SEVERE: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试提供的类并不复杂,所有它都是一些公共final字段和一个设置所有它们的构造函数.这些字段都是字符串,基元,与此类似的类或其列表(我尝试使用普通列表而不是通用List <T>,但无济于事).有谁知道是什么给出的?谢谢!

Java EE 6

泽西岛1.1.5

GlassFish 3.0.1

java rest json jersey java-ee

40
推荐指数
4
解决办法
10万
查看次数

泽西岛(哈希)地图的序列化程序使用?

我正在尝试将以下有效负载发布到基于Jersey的Web服务:

{
    "firstname":"Jimmy",
    "lastname":"Johns",
    "addresses":
    [
        {
            "street":"19 Mayberry Drive",
            "city":"Mayberry",
            "state":"nc",
            "postalcode":"27043",
            "country":"us",
            "addresstype":1
        }
    ],
    "data":
    {
        "eyes":"blue",
        "hair":"brown",
        "sandwich":"roast beef"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的泽西岛代码:

@POST
public Response create( Person person )
{
    createBo( person );    <------- stopped here in debugger
    ...
Run Code Online (Sandbox Code Playgroud)

突然停摆就像新泽西打电话给我,我看到地址的人冲出来用什么我正在寻找(在JSON是头上).但是,我的数据元组不存在.我知道Jersey正在为Address es 调用我的无参数构造函数,并且它的调用者正在被调用,但是我在夜间亮起泽西可能或可能不会尝试使用这些随机("数据")元组在我的JSON中.(我说"随机",因为在不同的调用中,这些可能是"洞穴":"深,黑","山":"高,宽"等.这是我界面的一部分.)

为了充实我正在谈论的内容,请将这些POJO视为上述内容:

@XmlAccessorType( XmlAccessType.FIELD )
@XmlRootElement
public class Person implements Serializable
{
    @XmlElement
    private List< Address > addresses = new ArrayList< Address >();

    @XmlElement
    private Map< String, String > data = new …
Run Code Online (Sandbox Code Playgroud)

java rest json jersey

6
推荐指数
1
解决办法
5712
查看次数

杰克逊与jaxb

JSON在泽西岛使用杰克逊处理器时,何时以及为什么我需要JAXB在两者之间使用注释?Object->JAXB->JSON

杰克逊还提供自己的JAX-RS直接供应商Object->JSON.这种方法缺少什么?或者为什么我更喜欢另一个

ps:我也用春天

java jax-ws jaxb jersey jackson

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×3

jersey ×3

json ×2

rest ×2

jackson ×1

java-ee ×1

jax-ws ×1

jaxb ×1