Flask route:路由参数、methods:请求方式

发布时间 2023-05-29 19:05:47作者: ji哩咕噜

路由参数:

  string    接收任何没有斜杠('/')的文件(默认)

  int    接收整形

  float  接收浮点型

  path  接收路径,可接收斜线('/')

  uuid  只接收uuid字符串,唯一码,一种生成规则

  any  可以同时指定多种路径,进行限定

 

示例:

# string:重点
@blue.route('/string/<username/'>
def get_string(username):
    print(type(username))  # <class 'str'>
    return username
            
# int:
@blue.route('/int/int:<id>/')
def get_int(id):
    print(type(id))  # <class 'int'>
    return str(id)
            
# float 与int同理
            
# path:支持 / 的字符串
@blue.route('/path/path:<name>/')
def get_path(name):
    print(type(name))  # <class 'path'>
    return str(name)
            
            
# uuid:生成一段唯一数,如果后台用到了用户或者产品的唯一标识作为前后端交互
@blue.route('/uuid/uuid:<id>/')
def get_uuid(id):
    print(type(id))  # <class 'uuid.UUID'>
    return str(id)
            
@blue.route('/getuuid/')
def get_uuid2(id):
    import uuid # 这里需要导入一个python内置的包
    return str(uuid.uuid4())
  
            
# any:从列出的项目中选一个,下列从a,b,c中选择
@blue.route('/any/<any:(a,b,c):fruit>/')
def get_any(fruit):
     print(type(fruit))  # <class 'str'>
     return str(fruit)
            

 

methods:请求方式

# 默认不支持POST

# 如果需要同时支持GET和POST,就设置methods

示例:

@blue.route('/methods/', methosd = ['GET', 'POST'])
def get_methods():
    return 'method'