2017-02-20 17 views
-1

В нашем приложении одно из Запрос GET начинает давать ответ как 400 Плохой запрос в Internet Explorer.Я получаю 400 Бад-запрос для повторного звонка только в интернет-проводнике

При исследовании я обнаружил, что запрос GET не имеет параметров запроса, ожидаемых по вызову ReST.

Как он дает отклик в других браузерах, таких как Chrome, Mozilla, , как я могу продолжить?

это Запрос в настоящее время triggered--

Метод запроса GET

https://XXXXXXXXX/XXX/XXXXXXXXX/XXXXXXXXX/XXXXXXXXX/XXXXXXXXX {% 22numRecords% 22: 1000,% 22start% 22: 0}? & _ = 1487576597960

и queryParameters в @QueryParam ожидаемый REST API являются-

-numRecords -start

Я знаю, что по запросу выше ГЭТ, numRecords и начать не будут захвачены апи бэкэндом.

Итак, есть ли какие-либо шансы, если мой запрос GET отсутствует @QueryParam приведет к ответу 400 Bad Request.

+1

... хорошо ... предоставить запросParameters, может быть? – Henry

ответ

0

Я обнаружил, что запрос GET не queryParameters

Вы можете использовать параметры запроса в запросах GET, как вы предоставили в вашем примере, как это: http://host?queryParam1=value1. однако невозможно передать тело запроса, как вы можете сделать для запросов POST или PUT, чтобы предоставлять JSON-кодированные данные, например. Вы можете обойти это, добавив JSON и URL-кодированную полезную нагрузку в параметр запроса. Но вы, конечно, должны иметь возможность прочитать этот параметр. Таким образом, вы должны добавить этот параметр в свой definiotn как в этом примере для JAX-RS:

@GET 
@Path("my-endpoint") 
public String request(
     @PathParam("payload") JsonObject payload 
) { 

Что вы уже пробовали, чтобы просто передать данные полезной нагрузки без задав имя параметра запроса.

Надеюсь, это поможет.

+0

@ thomas-mc-work Как нет запросовParameters, есть ли шанс в IE получить 400 Bad Request? –

+0

@RaviKarn Я не могу себе представить, что это работает в любом браузере. Однако, если это возможно, возможно, это также поможет декодировать фигурные скобки: замените '{' и '}' на '% 7B' и'% 7D'. И, возможно, и двоеточие: ':' => '% 3A' –