Python 无法使用Flask RESTful实现PUT请求

Python 无法使用Flask RESTful实现PUT请求,python,flask,flask-restful,restapi,Python,Flask,Flask Restful,Restapi,我正在尝试用flaskrestful实现restapi。我的API包含4个请求:GET、POST、PUT、DELETE。除了PUT请求之外,其他一切都工作正常。它不断返回状态代码404,但找不到请求的URL。我正在使用Postman测试我的API。这是我的密码。能告诉我哪里做错了吗?谢谢大家! # Small API project using Flask-RESTful from flask import Flask, request from flask_restful import Res

我正在尝试用flaskrestful实现restapi。我的API包含4个请求:GET、POST、PUT、DELETE。除了PUT请求之外,其他一切都工作正常。它不断返回状态代码404,但找不到请求的URL。我正在使用Postman测试我的API。这是我的密码。能告诉我哪里做错了吗?谢谢大家!

# Small API project using Flask-RESTful
from flask import Flask, request
from flask_restful import Resource, Api, reqparse
from flask_jwt import JWT, jwt_required

app = Flask(__name__)
# Encrypted key
app.secret_key = "Nam Dao"
api = Api(app)

students = []

class Student(Resource):
    parser = reqparse.RequestParser()
    parser.add_argument("major", type=str, required=True, help="This field cannot be left blank")

    def get(self, name):
        # filter function will return a filter object
        # next function will get the "next" student in the filter object.
        # if the Next function does not return anything => return None.
        for student in students:
            if student["name"] == name:
                return student, 200
        return {"message": "student not found"}, 404

    def post(self, name):
        if next(filter(lambda x: x["name"] == name, students), None) is not None:
            return {"message": f"A student with the name {name} already exists"}, 400

        request_data = self.parser.parse_args()

        print(request_data)
        student = {"name": name, "major": request_data["major"]}
        students.append(student)
        return student, 201

    def delete(self, name):
        for student in students:
            if student["name"] == name:
                students.remove(student)
                return {"message": "Item deleted"}, 200
        return {"message": "No student found"}, 204

    def put(self, name):
        data = request.get_json()
        for student in students:
            if student["name"] == name:
                student["major"] = data["major"]
                return {"message": "Student Major Changed"}, 200
        student = {"name": data["name"], "major": data["major"]}
        students.append(student)
        return {"message": "Student Added"}, 200

api.add_resource(Student, "/student/<string:name>")

class StudentsList(Resource):
    def get(self):
        return {"students": students}, 200

api.add_resource(StudentsList, "/students")

if __name__ == '__main__':
    app.run(debug=True)
使用Flask RESTful的小型API项目 从烧瓶进口烧瓶,请求 来自flask_restful导入资源、Api、reqparse 从烧瓶jwt进口jwt,需要jwt app=烧瓶(名称) #加密密钥 app.secret_key=“南道” api=api(应用程序) 学生=[] 班级学生(资源): parser=reqparse.RequestParser() parser.add_参数(“major”,type=str,required=True,help=“此字段不能留空”) def get(自我,名称): #filter函数将返回一个filter对象 #下一个函数将获得过滤器对象中的“下一个”学生。 #如果下一个函数不返回任何内容=>则返回None。 对于学生中的学生: 如果学生[“姓名”]==姓名: 留学生,200 返回{“消息”:“未找到学生”},404 def post(自我,姓名): 如果next(过滤器(lambda x:x[“名称”]==名称,学生),None)不是None: 返回{“message”:f“名为{name}的学生已存在”},400 request_data=self.parser.parse_args() 打印(请求\u数据) 学生={“姓名”:姓名,“专业”:请求_数据[“专业”]} 学生。附加(学生) 留学生,201 def delete(自我,姓名): 对于学生中的学生: 如果学生[“姓名”]==姓名: 学生。移除(学生) 返回{“消息”:“项目已删除”},200 返回{“消息”:“未找到学生”},204 def put(自我,姓名): data=request.get_json() 对于学生中的学生: 如果学生[“姓名”]==姓名: 学生[“专业”]=数据[“专业”] 返回{“消息”:“学生专业已更改”},200 学生={“姓名”:数据[“姓名],“专业”:数据[“专业”]} 学生。附加(学生) 返回{“消息”:“学生添加”},200 api.add_资源(Student,“/Student/”) 班级学生名单(资源): def get(自我): 返回{“学生”:学生},200 api.添加资源(StudentsList,“/students”) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.run(debug=True)
我再次检查我的URL,发现我丢失了一个字母,这就是它返回404状态码的原因。这是一个非常愚蠢的错误。一切正常

我再次检查我的URL,发现我丢失了一个字母,这就是它返回404状态码的原因。这是一个非常愚蠢的错误。一切正常