FastAPI desde la entrada hasta el combate real (15): configuración del enrutamiento general

Este artículo registra principalmente cómo fastapi implementa una interfaz y múltiples métodos de solicitud; por ejemplo, la misma interfaz puede solicitar datos a través de parámetros de consulta o parámetros de ruta, y también puede obtener una respuesta enviando el cuerpo de la solicitud.

Métodos de solicitud comunes

  1. Obtener envía una solicitud a un recurso específico (la solicitud especifica la información de la página y devuelve el cuerpo de la entidad)
  2. La publicación envía datos al recurso especificado para procesar solicitudes (envío de formularios, carga de archivos), lo que puede conducir al establecimiento de nuevos recursos o la modificación de los recursos originales
  3. Put carga su contenido más reciente en la ubicación de recursos especificada (los datos transmitidos desde el cliente al servidor reemplazan el contenido del documento especificado)
  4. El encabezado es consistente con la solicitud del servidor y la solicitud de obtención, el cuerpo de la respuesta no se devolverá y se obtendrá la información original contenida en el encabezado del mensaje pequeño (similar a la solicitud de obtención, no hay contenido específico en la respuesta devuelta, lo que se utiliza para obtener el encabezado)
  5. Eliminar solicita al servidor que elimine el recurso indicado por la URL de solicitud* (solicita al servidor que elimine la página)
  6. Seguimiento de solicitudes de ecos recibidas por el servidor para pruebas y diagnósticos
  7. opciones Devuelve el método de solicitud HTML admitido por el servidor para un recurso específico o el servidor web envía *funcionalidad del servidor de prueba (permite al cliente ver el rendimiento del servidor)
  8. Un servidor proxy que puede cambiar la conexión a una canalización en el protocolo Connect HTTP/1.1
  • La solicitud de obtención no tiene cuerpo de mensaje, solo puede transportar una pequeña cantidad de datos y no es segura; la solicitud de obtención coloca los datos en la dirección URL
  • La solicitud posterior tiene un cuerpo de mensaje, que puede transportar una gran cantidad de datos y es segura; la solicitud posterior coloca los datos en el cuerpo del mensaje
  • Los datos enviados por el método GET solo pueden tener un máximo de 1024 bytes, mientras que POST no tiene esta limitación.

Enrutamiento general de configuración de FastAPI

La interfaz de escritura en FastAPI se @app.methodsimplementa a través del método, que limita el método de solicitud a un determinado tipo, lo que no puede satisfacer nuestras necesidades de desarrollo en algunos escenarios, por lo que es necesario implementar varios métodos de solicitud para la misma ruta. @appEl y aquí methodsson todas las referencias, y no está escrito en el sitio web oficial. Miré github y el código fuente, y más o menos lo descubrí;

código fuente

Se puede ver a partir de esto que el método de implementación anterior también depende del api_routemétodo, por lo que api_routese puede realizar directamente usando el método.

 def get(
        self,
        path: str,
        *,
        ......
    ) -> Callable[[DecoratedCallable], DecoratedCallable]:
        return self.api_route(
            path=path,
            response_model=response_model,
            status_code=status_code,
            tags=tags,
            dependencies=dependencies,
            summary=summary,
            description=description,
            response_description=response_description,
            responses=responses,
            deprecated=deprecated,
            methods=["GET"],
            operation_id=operation_id,
            ......
        )

Código

@app.api_route("/test", methods=["GET", "POST", "DELETE"])
async def test(request: Request):
    return {
    
    "method": request.method}

Como se indicó anteriormente, el método es muy simple. Use api_routeel método, configure la ruta y configure methodsla lista al mismo tiempo. Los documentos y las pruebas son los siguientes:

imagen-20221215113834317

imagen-20221215113856955

imagen-20221215113918562

imagen-20221215113937127


¡Gracias por leer!

Dirección de Jiumozhai: https://blog.jiumoz.com/archives/fastapi-cong-ru-men-dao-shi-zhan-15-she-zhi-tong-yong-lu-you

¡Bienvenido a seguir el mini programa personal del blogger!

Supongo que te gusta

Origin blog.csdn.net/qq_45730223/article/details/128327968
Recomendado
Clasificación