Как получить доступ к полю данных запроса JSON, отправленного клиентом Flex в JAX-RS - PullRequest
2 голосов
/ 02 февраля 2012

У меня есть следующий сервис JAX-RS.

@Path("config")
public class ConfigurationResponder {

    @GET
    @Produces({"application/json"})
    @Consumes({"application/json"})
    public SomeResponse handleMessage() {

        SomeResponse response = new SomeResponse();
        // calculations...
        return response;
    }
}

Я создаю некоторый запрос в клиенте Flex.

var message:Object = {};
message.type = "get_configuration";
message.data = "some data";

var request:URLRequest = new URLRequest(fullUrl);
request.contentRype = "application/json";
request.data = message;
request.method = URLRequestMethod.GET;

var loader:URLLoader = ...
loader.load(request);

Служба JAX-RS получает запрос и успешно отвечает некоторым фиктивным ответом, но у меня нет доступа к полю request.data.

Как получить доступ к данным сообщения запроса (в данном конкретном примере это {"type":"get_configuration","data":"some data"})? Я думаю, что я должен добавить некоторые параметры в метод handleMessage, например

public SomeResponse handleMessage(Object message) {...

но это не работает вообще. На запрос получен 415 ответ.

1 Ответ

2 голосов
/ 02 февраля 2012

Вам необходимо использовать @QueryParam для регистрации параметра запроса в качестве аргумента метода.

public SomeResponse handleMessage(@QueryParam("query") String data) {
    // ...
}
...