Шутка в день держит врачей подальше

Прочитав эту статью, вы научитесь создавать многоязычный API для шуток на Python. В конце этого руководства у вас должен быть рабочий сервер разработки, который возвращает вам случайную шутку при каждом вызове API. Вы можете продолжить работу над ним на основе ваших собственных сценариев использования. В этом руководстве 4 раздела.

  1. Настраивать
  2. Выполнение
  3. Тестовое задание
  4. Заключение

Перейдем к следующему разделу и начнем писать код Python.

1. Настройка

Колба

Настройка довольно проста и понятна. Я собираюсь использовать Flask для этого урока. Измените его соответствующим образом, если вы используете Django или другой сервер Python. Перед продолжением настоятельно рекомендуется настроить виртуальную среду. Установите Flask с помощью следующей команды.

pip install flask

Набор данных шуток

Следующим шагом будет сбор анекдотов для нашего API. Вы можете сохранить его как словарь Python в файле Python или как формат json в текстовом файле. У обоих методов есть свои достоинства и недостатки. Я собираюсь сохранить его как словарь в файле с именем api_data.py. Не стесняйтесь называть его, исходя из своих предпочтений.

Для пользователей Python 2 добавьте следующий код вверху файла Python. Вы можете спокойно игнорировать эту часть, если используете Python 3.

# -*- coding: utf-8 -*-

Это означает, что мы используем кодировку utf-8 для этого файла Python, поскольку мы создаем многоязычный API-интерфейс для шуток.

Затем создайте словарь и заполните его набором данных анекдотов, который вы собрали. Каждый ключ представляет язык, а значение представляет собой список строк. Настоятельно рекомендуется использовать правильный языковой код, чтобы упростить задачу в будущем.

joke_dict = {
"en": ["joke1", "joke2"],
"zh_cn": ["笑话", "消化", "小花"]
}

Если у вас недостаточно языковых данных, не стесняйтесь проверить следующую суть. Я добавил несколько примеров для английского, упрощенного китайского и корейского языков.

Перейдем к следующему разделу и приступим к реализации сервера Python.

2. Реализация

Создайте новый файл Python в том же каталоге, что и api_data.py.

Импортировать

Добавьте следующий оператор импорта. Модуль random будет использоваться для получения случайного элемента из списка анекдотов.

from flask import Flask, request
import api_data
import random

Определите следующие переменные. Вы можете использовать любой порт в зависимости от ваших предпочтений, если он не используется.

server_port = 5000
app = Flask(__name__)

Маршрут

Добавьте следующий код, чтобы определить маршрут к API. Измените название маршрута соответствующим образом.

@app.route('/joke-api')
def joke():

Внутри функции добавьте следующий код, чтобы получить языковые данные из запроса GET. Если не указано иное, по умолчанию будет установлено значение en.

language = request.args.get('language', 'en')

Сказав это, может возникнуть ситуация, когда указанный язык отсутствует в нашем joke_dict. Я собираюсь установить его на en, если язык не найден.

if(language not in api_data.joke_dict):
        language = 'en'

Последняя часть функции - вернуть случайную шутку.

return random.choice(api_data.joke_dict[language])

Вы можете заключить его в json со статусом API, указав Success или Failure в зависимости от ваших вариантов использования.

Главный

Наконец, добавьте следующий код для запуска приложения Flask при запуске.

if __name__ == "__main__":
    app.run('0.0.0.0',port=server_port)

В вашем файле Python должен быть следующий код

Запустите приложение Flask, когда оно вам понравится. В следующем разделе мы собираемся протестировать API шутки.

3. Тест

URL-адрес для доступа к нашему API должен быть следующим

localhost:5000/joke-api?language=en

en

Измените его соответствующим образом, если вы внесли какие-либо изменения в порт или имя маршрута. Вы должны получить случайную шутку при вызове API.

Другие языки в словаре

Давайте еще раз протестируем API, используя другие языки, кроме en. Я собираюсь использовать для этого zh_cn.

Другие языки не найдены в словаре

Если вы укажете языки, которых нет в словаре, он должен вернуть английский анекдот. Давайте попробуем использовать ja, которые представляют японский язык.

Язык не указан

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

Поздравляю! Вы успешно создали свой собственный многоязычный API для шуток.

4. Вывод

Подведем итоги тому, что вы узнали сегодня.

Мы начали с установки модуля Flask через pip install. Кроме того, мы также подготовили набор данных шуток и сохранили их в виде словаря в файле Python, где ключ представляет язык, а значение - список шуток.

После этого мы реализовали простое приложение Flask, которое будет возвращать случайную шутку, когда вы вызываете его API.

Наконец, мы протестировали наш многоязычный API-интерфейс шуток и подтвердили, что он работает должным образом.

Спасибо, что прочитали эту статью. Надеюсь увидеть вас снова в следующей статье!

Ссылка

  1. Myapp.py gist
  2. Api_data.py gist