Как мне отправить данные JSON с помощью Curl из терминала / командной строки в Test Spring REST? - PullRequest
2488 голосов
/ 24 августа 2011

Я использую Ubuntu и установил cURL на него.Я хочу проверить мое приложение Spring REST с помощью cURL.Я написал свой POST-код на стороне Java.Тем не менее, я хочу проверить это с помощью cURL.Я пытаюсь опубликовать данные в формате JSON.Пример данных выглядит так:

{"value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true}

Я использую эту команду:

curl -i \
    -H "Accept: application/json" \
    -H "X-HTTP-Method-Override: PUT" \
    -X POST -d "value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true \
    http://localhost:8080/xx/xxx/xxxx

Возвращает эту ошибку:

HTTP/1.1 415 Unsupported Media Type
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 1051
Date: Wed, 24 Aug 2011 08:50:17 GMT

Описание ошибки:

Сервер отклонил этот запрос, поскольку объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода ().

Tomcatlog: «POST / ui / webapp / conf / clear HTTP / 1.1» 415 1051

Какой правильный формат команды cURL?

Это мой код на стороне Java PUT (Я проверил GET и DELETE, и они работают):

@RequestMapping(method = RequestMethod.PUT)
public Configuration updateConfiguration(HttpServletResponse response, @RequestBody Configuration configuration) { //consider @Valid tag
    configuration.setName("PUT worked");
    //todo If error occurs response.sendError(HttpServletResponse.SC_NOT_FOUND);
    return configuration;
}

Ответы [ 21 ]

0 голосов
/ 16 июля 2018

Вы можете передать расширение нужного формата в качестве конца URL. как http://localhost:8080/xx/xxx/xxxx.json

или

http://localhost:8080/xx/xxx/xxxx.xml

Примечание: вам нужно добавить зависимости Джексона и Джаксба Мэйвена в ваш pom.

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