Как типизировать 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);
});
};