Как исправить отправку заголовков с помощью axios post?

#javascript #node.js #axios #http-headers #http-post

Вопрос:

Я использую axios для отправки HTTP-запроса POST с некоторыми двоичными данными, такими как это:

 axios.post(url, input, {headers: {'Content-Type': 'application/octet-stream'}})
 

Когда я получил Bad request сообщение об ошибке, я распечатал заголовки запросов:

   "headers" : { 
    "common": {
      "Accept": "application/json, text/plain, */*",
      "Content-Type": "application/octet-stream"
    },
    "delete": {},
    "get": {},
    "head": {},
    "post": {
      "Content-Type": "application/octet-stream"
    },
    "put": {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    "patch": {
      "Content-Type": "application/x-www-form-urlencoded"
    }
  }
 

Я отменил заголовки по умолчанию (см. Ниже) и Ok вместо этого получил Bad request

 axios.defaults.headers = {"Content-Type": "application/octet-stream"}
 

Таким образом, проблема устранена, но мне не нравится переопределять axios значения по умолчанию. Как бы вы посоветовали использовать axios.post для правильной отправки заголовка ?

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

1. Вам необходимо отдельно указать content-type заголовок для каждого запроса, чтобы он соответствовал типу отправляемых вами данных. Документ axios очень четко описывает, как отправлять заголовки с конкретным запросом.

2. Спасибо. К сожалению, я не нашел его в документации ( github.com/axios/axios ). Не могли бы вы указать мне на конкретный пример ?

3. Это все варианты для любого запроса axios. Входит в этот список headers .