2016-09-09 7 views
0

エラーオブジェクトのリストをアンマーシャリングしようとしています。私はJSON配列がerrorsの代わりerror名前を付けることにしたいしかしJAXB:アンマーシャリングされたjson配列のカスタム名

requestContext.abortWith(Response.status(Response.Status.FORBIDDEN).entity(
        new GenericEntity<List<Error>>(errors){}) 
        .type(MediaType.APPLICATION_JSON_TYPE).build()); 

アンマーシャリングJSONは

{"error":[{"code":5,"detail":"app level of request, 2, does not meet the minimum required app level, 5"}]} 

のように見えます。これはJavaクラス定義のErrorです。

@XmlRootElement 
public class Error { 

    @XmlElement 
    private Integer code; 

    @XmlElement 
    private String detail; 

    public Error(Integer code, String detail) { 
     this.code = code; 
     this.detail = detail; 
    } 

    public Error() {} 
    } 

どのようにこれを行うことができますか?

答えて

0

デフォルトでは、@ XmlRootElementが使用されます。だからあなたは使用する必要があります@JsonRootName

@JsonRootName("errors") 
@XmlRootElement 
public class Error { 
関連する問題