Sli*_*ind 5 rest json urllib flask python-3.x
我想在不使用 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)
Run Code Online (Sandbox Code Playgroud)
小智 3
你可以尝试这样的事情
\nimport json\nimport http.server\nimport socketserver\nfrom typing import Tuple\nfrom http import HTTPStatus\n\n\nclass Handler(http.server.SimpleHTTPRequestHandler):\n\n def __init__(self, request: bytes, client_address: Tuple[str, int], server: socketserver.BaseServer):\n super().__init__(request, client_address, server)\n\n @property\n def api_response(self):\n return json.dumps({"message": "Hello world"}).encode()\n\n def do_GET(self):\n if self.path == '/':\n self.send_response(HTTPStatus.OK)\n self.send_header("Content-Type", "application/json")\n self.end_headers()\n self.wfile.write(bytes(self.api_response))\n\n\nif __name__ == "__main__":\n PORT = 8000\n # Create an object of the above class\n my_server = socketserver.TCPServer(("0.0.0.0", PORT), Handler)\n # Star the server\n print(f"Server started at {PORT}")\n my_server.serve_forever()\n
Run Code Online (Sandbox Code Playgroud)\n并像这样进行测试
\n\xe2\x86\x92 curl http://localhost:8000\n{"message": "Hello world"}%\n
Run Code Online (Sandbox Code Playgroud)\n但请记住,此代码不稳定,只是示例
\n 归档时间: |
|
查看次数: |
3265 次 |
最近记录: |