POST и GET API-запрос с использованием fetch, не может получить данные - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь использовать этот веб-сайт: https://rel.ink/, чтобы внедрить средство сокращения ссылок в моем веб-приложении, я могу успешно отправить запрос, но то, что я ПОЛУЧАЮ назад, - это тот же объект, а не сокращенная версия. Я знаю, что это основы c, но я не могу обернуть голову вокруг этого. На веб-сайте говорится, что мне нужно отправить больше информации с моим GET-запросом, но GET-запросы не должны содержать текст да?

Вот мой код:

async function fetchNewLink() {

  let newLinkJson = await postLink(input.value)

  let newLink = await getShortLink(newLinkJson)
  console.log(newLink)
}

function postLink(input) {
  return fetch('https://rel.ink/api/links/', {
      method: 'POST',
      body: JSON.stringify({
        url: input
      }),
      headers: {
        "Content-type": "application/json"
      }
    })
    .then(response => response.json())
    .then(json => json)
}

function getShortLink(response) {
  return fetch('https://rel.ink/api/links/' + response.hashid)
    .then(result => result.json())
    .then(newLink => newLink)
}

Большое спасибо

1 Ответ

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

Если вы пытаетесь получить сокращенную версию ссылки, API не возвращает именно это при отправке запроса. Однако все, что вам нужно, это hashid, которое он возвращает. Сокращенная ссылка - это URL основного веб-сайта (https://rel.ink), объединенный с hashid.

. Таким образом, если API возвращает nJzb3n как hashid при выполнении запроса POST, сокращенная ссылка будет быть https://rel.ink/nJzb3n

Надеюсь, это поможет.

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