
Miguel Juan Carlos Rojas Ortega
PreguntaCual seria la diferencia entre el Body y Query?, mas que todo en donde utilizar o donde hacer ese Base Model y cuando usar Query parameters.
Seria query para buscar informacion y Body para put y post? (Alguien que me ayuda a entender bien esto)

Ruben Emmanuel Garcia Ordaz
Hola, se que la pregunta ya tiene tiempo y quiza hasta ya tengas doctorado xD Es correcto tu razonamiento, pero quisiera retroalimentar un poco más tu pregunta además de la anterior respuesta. Query, es una clase de Fast API que nos permite acceder al parametro o en el ingles como query string (haciendole honor al nombre de la clase) Como has visto, puedes hacerlo opcional o obligatorio, definir tipos y muchas otras restricciones. Esto no es algo novedoso, si has programado en PHP, puedes acceder al parametro o query string con el objeto
$_GET['un_parametro_cualquiera']
Eso aplica para todos los metodos, GET, POST, PUT, DELETE. Lo cual tiene sentido, puesto que puede que el parametro exista o no, y una forma de validar esa parte es con:
isset($_GET["nombre_del_parametro"])
Por lo que FAST API te ahorra mucho trabajo que tendrías que hacer con un lenguaje de backend y frameworks El body, es el cuerpo de nuestra petición HTTP, digamos que es el contenido. La forma en la que FASTAPI guarda el cuerpo, es a través del BaseModel. Además si haz sido muy observador en la parte de la documentación del curso, te habrás dado cuenta que existe el Content-Type, que en nuestra petición nos indica el tipo de contenido de nuestra petición, esto es importante ya que a través de este mime type el servidor sabe de que tipo de contenido tiene la petición. En este caso es application/json, ya que FAST API sirve para crear APIs de tipo RestFul Hace muchos años, antes se ocupaba SOAP, que en lugar de ocupar JSON, ocupas XML. Eso no quiere decir que no este en desuso, pero la tendencia es Restful. De hecho si has ocupado javascript vanilla, sabras que existe el metodo XMLHttpRequest y precisamente por esa es una de las razones por la que se llama así la función.
Te recomiendo mucho que investigues más acerca de el protocolo HTTP y como se hacen las peticiones HTTP. Eso te ayudara mucho a entender mucho mejor este framework. Links recomendados:
https://edytapukocz.com/url-partes-ejemplos-facil/ https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/MIME_types https://developer.mozilla.org/es/docs/Web/HTTP/Messages https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
Suerte

Pedro Alvarado Garcia
Los Query Parameters se utilizan para hacer filtros, para hacer búsquedas de información. El Request Body se usan para put, post, patch. Osea, tu razonamiento es correcto.