1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mmdapl-egg-axios-plus

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Запрос поддержки

Тип Поддержка
GET
DELETE
HEAD
OPTIONS
PUT
POST
PATCH

Пример
Если вы хотите узнать о том, как изучить плагин egg-axios-plus, мы настоятельно рекомендуем вам изучить фреймворк Axios и Eggjs. Как следует из названия, этот плагин необходимо применять в проекте egg. Давайте начнём писать пример кода.

// Вы можете написать код запроса с помощью egg-axios-plus в controller.js или service.js

// Поддержка get
this.ctx.axios.get("request url", {
    // объект параметров
}).then(callbackData => {
    // эти данные являются только данными ответа удалённого сервера методом обратного вызова
    console.log(callbackData);
    // добавьте код для работы с данными из запроса get
}).catch(err => {
    // Если в запросе есть ошибка, она будет обнаружена здесь
    console.log(err)
})

// поддержка post
this.ctx.axios.post("request url", {
    // объект параметров
}).then(callbackData => {
    console.log(callbackData);
}).catch(err => {
    console.log(err)
})
// поддержка put, delete и других распространённых типов запросов, просто напишите как верхний код;

Если вы не хотите использовать функцию обратного вызова для получения результата запроса в процессе кода, egg-axios-plus также может поддерживать способ синхронного получения запроса с async/await. Но будьте бдительны, что родительский метод, который использовал axios, должен быть асинхронным.

try {
    const responseData = await this.ctx.axios.get('request url', {
        // объект параметров
    });
    // Добавьте код для управления данными с помощью await
    console.log(responseData);
} catch (err) {
    console.log(err)
}

API Запросы можно выполнять, передавая соответствующий конфиг в axios.

axios(config)

// Отправить запрос POST
this.ctx.axios({
    method: 'post',
    url: '/user/12345',
    data: {
        firstName: 'Fred',
        lastName: 'Flintstone'
    }
});
// Запрос GET для удалённого изображения
this.ctx.axios({
    method: 'get',
    url: 'http://bit.ly/2mTM3nY',
    responseType: 'stream'
}).then(response => {
    console.log(response);
});

Псевдонимы методов запроса

Для удобства были предоставлены псевдонимы для всех поддерживаемых методов запроса.

  • this.ctx.axios.request(config)

  • this.ctx.axios.get(url[, config])

  • this.ctx.axios.delete(url[, config])

  • this.ctx.axios.head(url[, config])

  • this.ctx.axios.options(url[, config])

  • this.ctx.axios.post(url[, data[, config]])

  • this.ctx.axios.put(url[, data[, config]])

  • this.ctx.axios.patch(url[, data[, config]])

Примечание

При использовании методов псевдонима url, method и data свойства не нужно указывать в конфиге.

Конфиг по умолчанию

Вы можете указать конфиг по умолчанию, который будет применяться к каждому запросу.

Глобальные настройки axios по умолчанию

const axios = this.ctx.axios;
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

Пользовательские настройки по умолчанию для экземпляра

// Устанавливаем настройки конфига при создании экземпляра
const instance = axios.create({
    baseURL: 'https://api.example.com'
});
// Изменяем настройки после создания экземпляра
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;

Порядок приоритета конфига

Конфиг будет объединён с порядком приоритета. Порядок — это значения по умолчанию библиотеки, найденные в lib/defaults.js, затем свойство defaults экземпляра и, наконец, аргумент config для запроса. Последний будет иметь приоритет над первым. Вот пример.

// Создаём экземпляр, используя настройки конфига по умолчанию, предоставляемые библиотекой
// На данный момент значение конфигурации таймаута равно 0, как и значение по умолчанию для библиотеки
const instance = axios.create();
// Переопределяем значение таймаута по умолчанию для библиотеки
// Теперь все запросы, использующие этот экземпляр, будут ждать 2,5 секунды перед истечением времени ожидания

*Примечание: в тексте запроса присутствуют фрагменты кода на языке JavaScript, которые были оставлены без перевода.* **instance.defaults.timeout = 2500;**
// Переопределяем таймаут для этого запроса, так как известно, что он занимает много времени
**instance.get('/longRequest', {
    timeout: 5000
});**

*Дополнительные примеры можно найти на сайте:* https://github.com/axios/axios или связаться с Тейлором (https://github.com/mmdapl).

### Вопросы и предложения
Пожалуйста, создайте задачу [здесь](https://github.com/mmdapl/egg-axios-plus/issues).

### Ссылки
* egg-axios-plus 中文使用手册 (README.zh_CN.md)
* Axios 中文说明 (https://www.kancloud.cn/yunye/axios/234845)
* пример кода (example)

### Автор
[Rong姐姐好可爱](https://github.com/mmdapl)

### Лицензия
```text
MIT License

Copyright (c) 2022 142vip FairySister Rong姐��се好可爱

Настоящим предоставляется право, бесплатно, любому лицу, получающему копию данного программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), работать с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:

Приведённое выше уведомление об авторских правах и настоящее разрешение должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ. НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ ИЗ, В РЕЗУЛЬТАТЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.*

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mmdapl-egg-axios-plus.git
git@api.gitlife.ru:oschina-mirror/mmdapl-egg-axios-plus.git
oschina-mirror
mmdapl-egg-axios-plus
mmdapl-egg-axios-plus
master