【问题标题】:Getting URL parameters by using FastAPI使用 FastAPI 获取 URL 参数
【发布时间】:2022-01-07 04:07:50
【问题描述】:

我想使用 FastAPI 创建一个 API,该 API 从用户获取 url 并仅将 url 作为参数。例如,localhost:8000/tansu?url=www.google.com 是我的 url,我只想要 'url=www.google.com' 部分。在 fastAPI 教程中,我可以从 url 获取参数,但它们是特定的 url,我该如何处理来自用户的随机 url。有人有想法吗?

【问题讨论】:

    标签: fastapi url-parameters


    【解决方案1】:

    可以使用request参数,然后从那里取很多东西,包括所有的url参数:

    from fastapi import FastAPI
    from fastapi import Request
    
    app = FastAPI()
    
    
    @app.get("/tansu")
    async def tansu(request : Request):
      url = request.query_params.get('url', None)
      return {'url' : url}
    

    【讨论】:

      【解决方案2】:

      可以使用查询参数

      main.py

      from typing import Optional
      
      from fastapi import FastAPI
      
      app = FastAPI()
      
      
      @app.get("/tansu")
      async def get_url(
          url: str = None
      ):
          return {"url": url}
      

      现在,运行开发服务器并访问 http://localhost:8000/tansu?url=www.google.com

      您将看到以下响应。

      {"url": "www.google.com"}
      

      参考:https://fastapi.tiangolo.com/tutorial/query-params/

      【讨论】:

        【解决方案3】:
        use fastapi "query" parameters. 
        

        更多信息请访问:doc

        from typing import Optional
        
        from fastapi import FastAPI
        
        app = FastAPI()
        
        
        @app.get("/{user}")
        async def read_item(user: str, url: Optional[str] = None):
            if url:
                return {"user": user, "url": url}
            return {"user": user}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-11
          • 1970-01-01
          • 1970-01-01
          • 2011-04-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多