|
1 | 1 | # `07.2` Finish the POST /todos |
2 | 2 |
|
3 | | -Ahora, si queremos terminar el `post` tenemos que hacer dos acciones específicas: |
| 3 | +Ahora... si queremos terminar el post, tenemos que realizar estas acciones específicas: |
4 | 4 |
|
5 | | -+ Decodificar el request.data para convertirlo a un diccionario de python. |
| 5 | ++ Primero asegúrate de convertir el cuerpo de la solicitud en una estructura de datos real de Python, como un diccionario. Ya usamos `request.json` para eso, ya que sabemos que la solicitud estará en formato application/json. Si eso no se conoce, es posible que desee usar `request.get_json(force=True)` para ignorar el tipo de contenido y tratarlo como json. |
6 | 6 |
|
7 | | -+ Añadir el diccionario a la lista de todos. |
| 7 | ++ Agrega el diccionario a la lista de `todos`. |
8 | 8 |
|
9 | | -+ Retornar la nueva lista de todos. |
| 9 | ++ Devuelve la nueva lista de `todos`. |
10 | 10 |
|
11 | | -Para decodificar cualquier string json y convertirlo a un objeto de python podemos usar esta función: |
| 11 | +Tu código debería verse así ahora: |
12 | 12 |
|
13 | 13 | ```python |
14 | | -import json |
15 | | -decoded_object = json.loads(original_string) |
| 14 | + |
| 15 | +@app.route('/todos', methods=['POST']) |
| 16 | +def add_new_todo(): |
| 17 | + request_body = request.json |
| 18 | + print("Incoming request with the following body", request_body) |
| 19 | + return 'Response for the POST todo' |
| 20 | + |
16 | 21 | ``` |
17 | 22 |
|
| 23 | +Obviamente, este punto final actualmente no agrega nada nuevo a nuestra 'base de datos' (la lista `todo`). |
| 24 | + |
| 25 | +Completemos el código para que el punto final pueda hacer tu trabajo: agregar una nueva tarea a los `todos`. |
| 26 | + |
18 | 27 | ## 📝 Instrucciones: |
19 | 28 |
|
20 | | -1. Usa la función json.loads para decodificar el `request.data` |
| 29 | +1. Agrega el contenido del cuerpo de la solicitud decodificada a la lista `todos`. |
21 | 30 |
|
22 | | -2. Añade el objeto decodificado a la lista de `todos`. |
| 31 | +2. Devuelve la lista actualizada `todos` al front end. |
23 | 32 |
|
24 | | -3. Retorna la lista jsonify de los `todos` actualizados. |
| 33 | +3. No olvide `jsonify` su devolución. ¿Por qué es esto necesario? Discuta con la clase. |
0 commit comments