Solicitud POST de HttpClient usando x-www-form-urlencoded

Estoy tratando de hacer una solicitud POST conx-www-form-urlencodedencabezado de tipo de contenido de la siguiente manera:

login(username, password): Observable<any> {
    return this.http.post('/login', {
      username: username,
      password: password
      },
      {
        headers: new HttpHeaders()
          .set('Content-Type', 'x-www-form-urlencoded')
      }
      );

Lamentablemente, mi API dice que envié un nombre de usuario y contraseña vacíos.

así que decidí hacer una solicitud de cartero a mi punto final de inicio de sesión y ver de dónde viene el problema, y la solicitud de cartero devolvió el nombre de usuario y la contraseña.

¿Cómo es que cuando publico desde cartero mi API devuelve mi nombre de usuario y contraseña y cuando publico desde mi aplicación Angular mi API devuelve valores vacíos? ¿Hay algo que me falta?

Respuestas a la pregunta(3)

Su respuesta a la pregunta