You can support this site from as little as $1 a month on Patreon.

The support pays for site hosting and the expansion of this content.

In addition, Patreon Supporters gain access to exclusive online video training courses and ebooks.

Join Now

How to complete the challenge POST /todos (400) title too long

How to complete the challenge POST /todos (400) title too long to fail to create a todo item in the application due to not passing validation for the title.

POST /todos (400) title too long

Issue a POST request to create a todo but fail validation on the title field

  • POST request will create a todo if the details are valid when using the /todos end point
  • 400 is an error code meaning that we supplied invalid details
  • In this case we are asked to make a mistake with the title field so that it fails validation on the server side
  • The API Documentation for the todos endpoint says that a title Maximum length allowed is 50

Basic Instructions

  • Issue a POST request to end point "/todos"
    • https://apichallenges.eviltester.com/todos
  • The request should have an X-CHALLENGER header to track challenge completion
  • The content-type in the message should be application/json because we are sending a JSON payload
  • The Payload should have an error in the title. A valid title is Maximum of 50 characters so if we create a title with 51 characters it should fail validation and pass the challenge.
    {
        "title": "this title has far too many characters to validate.",
        "doneStatus": true,
        "description": "should trigger a 400 error"
    }
  • The response status code should be 400 because the request is invalid
  • The body of the response will be an error message array with a single message
{
  "errorMessages": [
    "Failed Validation: Maximum allowable length exceeded for title - maximum allowed is 50"
  ]
}

Hints:

  • when testing for field lengths CounterString tools can be useful to generate strings of the exact length required

Example Request

> POST /todos HTTP/1.1
> Host: apichallenges.eviltester.com
> User-Agent: rest-client
> X-CHALLENGER: x-challenger-guid
> Content-Type: application/json
> Accept: */*
> Content-Length: 116

|     {
|       "title": "this title has far too many characters to validate.",
|       "doneStatus": true,
|       "description": "should trigger a 400 error"
|     }

Example Response

< HTTP/1.1 400 Bad Request
< Connection: close
< Date: Thu, 27 Aug 2020 14:23:12 GMT
< Content-Type: application/json
< X-Challenger: x-challenger-guid
< Server: Jetty(9.4.z-SNAPSHOT)
< Via: 1.1 vegur

Returned body:

{
  "errorMessages": [
    "Failed Validation: Maximum allowable length exceeded for title - maximum allowed is 50"
  ]
}