2017-01-30 22 views
0

Я пытаюсь отправить JSON строку в Spring контроллер, я получаю 400 - плохой запрос в ответ400 (Bad Request) при отправке JSON весной

Я использую Spring 4.0.3

Это мой контроллер

@Controller 
public class Customer{ 

    @RequestMapping(value = "/apis/test", method = RequestMethod.GET, produces = "application/json") 
    public @ResponseBody String test(HttpServletRequest params) throws JsonIOException { 
     String json = params.getParameter("json"); 
     JsonParser jObj = new JsonParser(); 
     JsonArray jsonObj = (JsonArray) jObj.parse(json); 

     for(int i = 0; i < jsonObj.size(); i++) { 
      JsonObject jsonObject = jsonObj.get(i).getAsJsonObject(); 
      System.out.println(jsonObject.get("name").getAsString()); 

     } 
     return json; 
    } 
} 

Пожалуйста, помогите мне решить эту

+0

Я использую угловой JS для интеграции –

+0

поделитесь запросом, сделанным в браузере. захватить запрос в сетевых вкладках – Barath

+0

Нам нужно знать, как вы вызываете этот запрос ... Пожалуйста, поделитесь информацией – user2447161

ответ

0
@RequestMapping(value = "/apis/test", method = RequestMethod.GET, produces = "application/json") 

Вышеупомянутые MEA ns это метод HTTP GET, который обычно не принимает данные. Вы должны использовать метод POST HTTP, например:?

@RequestMapping(value = "/apis/test", method = RequestMethod.POST, consumes = "application/json") 
    public @ResponseBody String test(@RequestParam final String param1, @RequestParam final String param2, @RequestBody final String body) throws JsonIOException { 

, то вы можете выполнить POST/Apis/тест param1 = один & param2 = два и добавления строк в RequestBody запроса

Я надеюсь, что это помогает!

+0

На самом деле, я хочу передать некоторые другие параметры с помощью json, например https://s30.postimg.org/afd8s81kh/sc_2.png –

+0

Я обновил ответ, чтобы показать, как добавить другие параметры – ozOli

+0

Можете ли вы рассказать мне, как извлекать данные из метода POST? я пытаюсь с параметрами HttpServletRequest, но с его нулевыми значениями –