Потребление и демонстрация услуги REST и прохождение JSON тела - PullRequest
0 голосов
/ 07 апреля 2020

Я использую Apache Camel с XML DSL для использования и предоставления REST-сервиса. У меня есть тело запроса {"name":"your name","phonenumber":"111-111"}

Я могу напрямую отправить это тело запроса json и получить успешный ответ от использованного URL-адреса конечной точки. Принимая во внимание, что когда я go через мой открытый URL-адрес, я получаю следующее исключение.

org.apache.camel.component.restlet.RestletOperationException: Restlet operation failed invoking 
<!--Consumed URL--> with statusCode: 400 /n responseBody:
{"timestamp":"2020-04-07T06:15:41.302+0000","status":400,"error":"Bad Request",
"message":"Required request body is missing: public boolean
com.agcs.cids.BookingRestController.createBooking(org.bson.Document...)","path":"-----"}

Я даже могу распечатать тело непосредственно перед вызовом URL-адреса. Пожалуйста, оформите мой код ниже:

<log loggingLevel="TRACE" message="Request from source: Body: ${body}" />      
<log loggingLevel="TRACE" message="Request from source: Header: ${headers}" />
<to uri="restlet:<--Consumed URL-->?restletMethod=POST" />

1 Ответ

0 голосов
/ 07 апреля 2020

Я полагаю, ваш код пытается либо -

  1. Отправить запрос POST без тела {"name":"your name","phonenumber":"111-111"}JSON. В этом случае вы можете вернуться к своему коду и проверить, правильно ли вы устанавливаете тело, например, <setBody> правильно используется внутри тегов <to> и <from>.
  2. Отправьте запрос POST на URL, который не принимает a JSON тело. Вы пытались добавить "Accept", "application/json" в качестве заголовка?
  3. Убедитесь, что у вас не перепутаны адреса <from> и <to> (вы упомянули «потребляемый URL», который семантически должен быть «потребляющим URL») в случае <to> конечной точки)
...