почему я получаю ответ GET вместо СООБЩЕНИЯ, когда я выполняю вызов api

#ruby-on-rails #ruby #api #e-commerce #marketplace

#рубин на рельсах #рубин #API #электронная коммерция #Магазин

Вопрос:

когда я делаю POST запрос в Postman, я вижу, что JSON не отправляется ко мне и ничего не создали, но вернуть статус: 200 если я смотрю на журналы, я вижу, что этот запрос регистрируется как GET , я не понимаю этого поведения, в другие приложения с той же конфигурацией этого не произойдет,я не знаю, если проблема приходит от nginx / apache сервера или rails server

вот журнал plesk:

введите описание изображения здесь

это мой запрос на проверку тела

 {  "event_id": "fd193bc1-992f-4e51-bb28-b841417f68a9",  "order_id": "61e2d090-0d53-451f-9031-413559d34732",  "order_number": "10103211120218",  "state": "fulfilled",  "store_id": "11",  "timestamp": "2021-06-03T12:06:02.576Z",  "delivery_details": {  "delivery_tracking_number": "003404342888680268172",  "delivery_carrier_name": "DHL",  "return_tracking_number": "35141263178",  "return_carrier_name": "DHL"  },  "customer_billing_address": {  "first_name": "Max",  "last_name": "Mustermann",  "address_line_1": "Musterstraße 12 34",  "zip_code": "12345",  "city": "Berlin",  "country_code": "DE"  },  "items": [  {  "item_id": "15c3aa83-3f73-4ad6-a326-e1a10a89dd52",  "ean": "4059701022541",  "price": 99.95,  "currency": "EUR",  "article_number": "31.832.34-6,5",  "zalando_article_number": "GA111N0JN-J110065000",  "article_location": "213"  },  {  "item_id": "101610aa-71b1-4f52-b3ab-4d6cbc4e8adb",  "ean": "4059701214472",  "price": 99.95,  "currency": "EUR",  "article_number": "33.731.54-7",  "zalando_article_number": "GA111N0JE-J110007000",  "article_location": "213"  }  ] }  

конечной точкой является https://www.somedomain.com/api/v1/orders/zalando

и маршруты: zalando_api_v1_orders POST /api/v1/orders/zalando(.:format) api/v1/orders#zalando {:format=gt;:json}

 namespace :api, defaults: {format: :json} do  namespace :v1 do  resources :orders, only: [:index, :show, :update, :options] do   post 'zalando', on: :collection  end  end end  

и это метод класса, с помощью которого я создаю заказы с тем, что он должен получить в ответе

 def call   if Order.where(order_code: [order_code_with_store,order_code]).any?  success  else   order = Order.create(order_params)  items = OrderItem.create(order_item_params(order.id))   if order.persisted? amp;amp; items.all? { | item| item.persisted? }  UserMailer.marketplace_order_admin(order).deliver  success  else   success  end  end rescue   orderamp;.destroy  success end  

Комментарии:

1. @dbugger добавил маршруты, я надеюсь предоставить дополнительную информацию. Спасибо

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

3. @BroiSatse вообще ничего не показывает почтальону, только статус 200 зеленым цветом, но больше ничего, ни тела, ни предупреждений, ни ошибок, и когда я заглянул в журнал, я заметил запрос GET, похожий на тот, что на картинке

4. Вы уверены, что Почтальон отправляет запрос на почту. кажется маловероятным, если сервер получает его как GET? Также есть ли у вас show аналогичное заявление о спасении? Это rescue маскирует любую проблему, которая может возникнуть, call потому что она спасает каждого StandardError , несмотря ни на что. (НЕ ДЕЛАЙ ЭТОГО)

5. @cisco — Можете ли вы увидеть запрос в postamn?