Как типизировать axios.patch

подскажите пожалуйста как типизировать ответ сервера axios метод patch.


import { BASE_URL } from "../baseURL";
import { IDataset } from "./interfacesDatasets";

export const publishDatasets = (id: number, token: string) => {
  return axios.patch<IDataset>(`${BASE_URL}datasets/${id}/publish`,{
    headers: {
      Authorization: `basic ${token}`,
      "Content-Type": "application/json",
    },
  }).catch((error) => {
    return Promise.reject(error);
  });
};

или такая типизация только с методом get возможна?

вариант приведенный выше вообще не отправляет запрос на сервер


import { BASE_URL } from "../baseURL";
import { IDataset } from "./interfacesDatasets";

export const publishDatasets = (id: number, token: string) => {
  return axios({
    method: "PATCH",
    url: `${BASE_URL}datasets/${id}/publish`,
    headers: {
      Authorization: `basic ${token}`,
      "Content-Type": "application/json",
    },
  }).catch((error) => {   
    return Promise.reject(error);
  });
};```
а в таком случает отправляет, но тут появляется вопрос в типизации

Ответы (1 шт):

Автор решения: DiK

для типизации такого запроса необходимо добавить .request<>

import axios from "axios";
import { BASE_URL } from "../baseURL";
import { IDataset } from "./interfacesDatasets";

export const unpublishDatasets = (id: number, token: string) => {
  return axios
    .request<IDataset>({
      method: "PATCH",
      url: `${BASE_URL}datasets/${id}/unpublish`,
      headers: {
        Authorization: `basic ${token}`,
        "Content-Type": "application/json",
      },
    })
    .catch((error) => {    
      return Promise.reject(error);
    });
};
→ Ссылка