gpt4 book ai didi

json - 在 python 中创建一个没有 Flask 的 REST API

转载 作者:行者123 更新时间:2023-12-03 21:19:27 27 4
gpt4 key购买 nike

我想在不使用 Flask 的情况下创建 REST API。我曾经使用 Flask 创建过一次,如下所示,但现在我想尝试不使用 Flask。我开始知道 urllib 是执行此操作的软件包之一,但不知道该怎么做。即使除了 urllib 之外还有其他方法,那也没关系。

from werkzeug.wrappers import Request, Response
import json
from flask import Flask, request, jsonify
app = Flask(__name__)

with open ("jsonfile.json") as f:
data = json.load(f)
#data=f.read()

@app.route('/', methods=['GET', 'POST'])
def hello():
return jsonify(data)

if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('localhost', 9000, app)

最佳答案

你可以试试这样的

import json
import http.server
import socketserver
from typing import Tuple
from http import HTTPStatus


class Handler(http.server.SimpleHTTPRequestHandler):

def __init__(self, request: bytes, client_address: Tuple[str, int], server: socketserver.BaseServer):
super().__init__(request, client_address, server)

@property
def api_response(self):
return json.dumps({"message": "Hello world"}).encode()

def do_GET(self):
if self.path == '/':
self.send_response(HTTPStatus.OK)
self.send_header("Content-Type", "application/json")
self.end_headers()
self.wfile.write(bytes(self.api_response))


if __name__ == "__main__":
PORT = 8000
# Create an object of the above class
my_server = socketserver.TCPServer(("0.0.0.0", PORT), Handler)
# Star the server
print(f"Server started at {PORT}")
my_server.serve_forever()
像这样测试
→ curl http://localhost:8000
{"message": "Hello world"}%
但请记住,此代码不稳定,只是示例

关于json - 在 python 中创建一个没有 Flask 的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418357/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com