Règles de la maison

In that case the request won’t “work” – the route will throw a validation error and return a 400 response.

**Why?**
The endpoint is wired up to expect a JSON object that looks like

```json
{ "string_list": [ ... ] }
```

The `StringListSchema` expects a dictionary that contains a key called `string_list`.
When the client posts

```json
"[\"0\", \"1\", \"2\", … , \"999\"]"
```

the body is a **JSON string**, not a JSON object. `json.loads()` therefore returns a Python `str` whose value is the text

```
['0', '1', '2', … , '999']
```

That string is then passed to `StringListSchema.load()`. The schema is looking for a mapping with a `string_list` key, but it receives a string instead, so Marshmallow raises a `ValidationError` (the error message is something like `{'string_list': ['Missing data for required field.']}`).

The `parse` decorator catches that exception and turns it into a 400‑Bad‑Request response containing the validation error in JSON form. So the client gets a 400 response with an error body describing that the required field was missing or not in the expected format.