🏠 | 💻 | QA | Contents |

Как создать заглушку для REST API с помощью Flask

HTTP GET

По умолчанию Flask отвечает на GET.

Создадим файл server.py со следующим кодом

from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello Flask!" if __name__ == "__main__": app.run()

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

Запустить файл server.py можно будет командой

python server.py

Но традиционно испльзуется flask run, про который я рассказываю в статье «Первый проект на Flask» .

Если в Вашем окружении установлен Flask то Вы увидите

* Serving Flask app "server" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Можете открыть браузер и ввести в строку поиска http://127.0.0.1:5000/

На экране должно появиться

Hello Flask!

А в консоли должно появиться

127.0.0.1 - - [15/Jun/2020 16:19:06] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [15/Jun/2020 16:19:07] "GET /favicon.ico HTTP/1.1" 404 -

404 - так как я не добавил файл favicon.ico

Простой вебсервер на Flask

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

Вы можете ответить 200 и дальше слушать что присылает приложение.

from flask import request from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello world' @app.route('/bestws') def cakes(): return 'HeiHei.ru!' @app.route('/heiheiru/holidays', methods = ['GET']) def heiheiru_holidays(): timestamp = request.args.get('timestamp') print(f"Кто-то сделал GET запрос на heihei.ru и передал время {timestamp}") return '200' @app.route('/heiheiru/fests', methods = ['GET','PUT', 'POST']) def heiheiru_fests(): epc = request.args.get('epc') print(epc) antenna = request.args.get('antenna') print(antenna) timestamp = request.args.get('timestamp') print(timestamp) userMemory = request.args.get('userMemory') print(userMemory) return '200' if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su, info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: