404 Ошибка с GET-запросом веб-службы Java EE с десятичной точкой в ​​значении параметра - PullRequest
0 голосов
/ 16 марта 2010

Я создал сессионный компонент без сохранения состояния Java для предоставления клиентам услуг RESTful, и я получаю ошибку 404 Not Found, когда передаю параметр с десятичной точкой (в частности, долготу, например 150.318232). Служба работает нормально, если переданное значение является целым числом.

Ниже приведен фрагмент кода соответствующего метода - он был изначально создан с использованием мастеров Netbeans.

@GET
    @Produces({"application/json"}) //, "application/xml"

    public MessagesConverter get(@QueryParam("start")
                                 @DefaultValue("0")
                                int start,
                                 ......

                                @QueryParam("longitude")
                                 @DefaultValue("-123456789")
                                long searchPointLongitude,
      ......

Я пытался закодировать URL таким образом, чтобы точки / точки были представлены в виде шестнадцатеричных кодов, но, похоже, это не устраняет проблему.

Любая помощь будет оценена.

Приветствия

Jin

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Ну, в вашем примере ваш аргумент длинный - я полагаю, это то, что вы пытаетесь использовать для этого параметра запроса. Но передаваемый вами параметр - это double или float, а не long.

0 голосов
/ 16 марта 2010

Маловероятно, но убедитесь, что ваш десятичный код не отображается в строке с использованием локали, которая не нравится конечной точке. Я написал код в своей родной локали, который отображал десятичные дроби с использованием точек (.), Только для того, чтобы этот код выполнялся позже в локалях, которые отображают десятичные дроби с помощью запятых (,), которые действительно расстраивают службу конечной точки, даже при правильном кодировании URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...