Tl; dr; Przesyłanie poniżej Prace Curl, ale nie mogę zrobić tego samego w Supertest (co wrap Superagent https://github.com/visionMedia / Superagent /)

curl 'http://local/api/items' -X DELETE -H 'Accept-Encoding: gzip, deflate' -H 'content-type: application/json;charset=UTF-8' --data-binary '"1234"'

Mogę usunąć element z interfejsu internetowego, w którym dołączam plik z wymaganym tekstem.
Następnie przy użyciu narzędzi Dev Ekstrahowałem polecenie Curl przedstawione powyżej i działa jako urok.
Jak wykonać go w JS?
Wypróbowany:

const response = yield request('http://local')
      .delete('/api/items')     
      .set('Accept-Encoding', 'gzip, deflate')    
      .set('Content-Type', 'application/json;charset=UTF-8')
      .send("1234");

Potem dostaję "status":400,"error":"BodyNotReadable",
Może za pomocą write może być odpowiedzią, ale nie wiem, jak to zrobić.
Pełna lista dostępnych opcji https://github.com/visionMedia /Superagent/blob/master/lib/node/index.js.

1
pbaranski 1 październik 2017, 01:50

2 odpowiedzi

Najlepsza odpowiedź

Próbować:

request
  .delete('http://url/')
  .set('Accept-Encoding', 'gzip, deflate')
  .set('Content-Type', 'application/json;charset=UTF-8')
  .send(JSON.stringify(body))
  .type('json')
  .then(response => {
      console.log(response)
  })
  .catch(error => {
      console.log(error)
  });

Kluczem jest JSON.stringify ładunek, który chcesz wysłać. Powinno działać.

1
pbaranski 4 październik 2017, 11:54

Możesz spróbować tego, proszę:

request('http://local')
  .delete('/api/items')
  .set('Accept-Encoding', 'gzip, deflate')
  .set('Content-Type', 'application/json;charset=UTF-8')
  .write("1234")
  .end((err, res) => {
    // Get response here
  });
0
Arkerone 30 wrzesień 2017, 23:10