You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CherryPy REST开发:如何为GET接口设置可选URL参数及默认值

你直接在接口方法的形参里给目标参数设置默认值即可,CherryPy会自动将GET请求的URL查询参数映射到方法入参,未传入对应参数时会自动使用默认值。

完整示例代码

import cherrypy

class RestApi(object):
    # 假设你要接收的可选整数参数名为page_size,默认值10
    @cherrypy.expose
    @cherrypy.tools.allow(methods=['GET']) # 限制仅允许GET请求访问
    @cherrypy.tools.json_out() # 若需要返回JSON格式可添加该装饰器
    def get_data(self, page_size=10):
        # 手动转换为整数,同时校验参数合法性
        try:
            page_size = int(page_size)
        except (ValueError, TypeError):
            # 传入非合法数字时返回400错误,也可根据需求直接使用默认值
            raise cherrypy.HTTPError(400, "page_size must be a valid integer")
        
        # 此处替换为你的业务逻辑
        return {"code": 200, "data": {"page_size": page_size}}

if __name__ == '__main__':
    cherrypy.quickstart(RestApi())

效果验证

  • 访问 http://127.0.0.1:8080/get_data 未传page_size参数时,返回的page_size值为默认的10
  • 访问 http://127.0.0.1:8080/get_data?page_size=20 传入参数时,返回的page_size值为20
  • 传入非法值 http://127.0.0.1:8080/get_data?page_size=abc 时会返回400错误提示

注意点

所有URL传递的参数默认都是字符串类型,必须手动做类型转换和合法性校验,避免后续业务逻辑出现类型错误。

内容的提问来源于stack exchange,提问作者costola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:54:02