0

アラビア語のjsonメッセージを消費しようとするとエンコーディングの問題が発生しますが、getメソッドでjsonを生成すると、ここにメッセージが表示されます。コードは次のとおりです。

@Path("/json")
public class HelloJson {

@GET
@Path("/get")
@Produces("application/json; charset=UTF-8")
public Track getTrackInJSON() {

    Track track = new Track();
    track.setTitle("الليله");
    track.setSinger("عمرو دياب");

    return track;

}

@POST
@Path("/post")
@Consumes("application/json; charset=UTF-8")
public Response createTrackInJSON(Track track) throws UnsupportedEncodingException{
    String result = new String (("Track saved : " + track).getBytes(), "UTF-8");
    System.out.println(result);
    return Response.status(201).entity(result).type("text/plain; charset=UTF-8").build();
}

}

次のリンクでこの Web サービスを試すことができます : http://java7learning-khalidspace.rhcloud.com/rest/json/get

このリンクは、エンコーディングの問題なしに、アラビア語の値を含む json を返します。この json メッセージを受け取り、次のリンクを使用して post メソッドで使用します : http://java7learning-khalidspace.rhcloud.com/rest/json/postcontent-type=application/jsonおよびauthorization = Basic YWRtaW46YWRtaW4=をリクエスト ヘッダーとして挿入するだけで、json はリクエスト ボディに挿入します。post メソッドは、アラビア文字 "????" を含むメッセージを返します。

私が欠けているものを教えてください。助けてくれてありがとう。

4

1 に答える 1