marshmallow-code / marshmallow-code/webargs
RFC: Use annotations for parsing arguments
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 1.4k
- Forks
- 167
- Merge medio
- 17 h 8 min
- PR fusionados (30 d)
- 4
Descripción
Add a decorator that will parse request arguments from the view function's type annotations.
I've built a working proof of concept of this idea in webargs-starlette.
@app.route("/")
@use_annotations(locations=("query",))
async def index(request, name: str = "World"):
return JSONResponse({"Hello": name})
A marshmallow Schema is generated from the annotations using Schema.TYPE_MAPPING to construct fields.
The code for use_annotations mostly isn't tied to Starlette and could be adapted for AsyncParser (and core.Parser when we drop Python 2 support).
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza revisando la prueba de concepto en webargs-starlette; después, inspecciona AsyncParser y core.Parser, y cómo marshmallow Schema.TYPE_MAPPING construye los campos. Se considera terminado cuando se haya adaptado el enfoque basado en anotaciones use_annotations para los parsers relevantes, de modo que los argumentos de la solicitud se analicen a partir de las anotaciones de las funciones de vista.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 28/100