'Cannot convert data to json in angular 13 Content type 'text/plain;charset=UTF-8' not supported] after sending data from angular to .Net core Web Api

I am trying to connect a WebAPI build using .Net core 5

Web API: method

// POST api/<BusController>
        //[EnableCors("AllowAllHeaders")]
        [HttpPost]
        public JsonResult Post([FromBody]BusRequest busRequest)
        {
            var result =  "Response Text";
            return new JsonResult(result);
            //return result;
        }

Angular 13 Code

const busRequest = {
        "StartDate" : "02/15/2022",
        "EndDate": "02/17/2022",
        "BusNo" :null
      };

**Approach 1:**
      const header = new HttpHeaders();
      header.set('Content-Type', 'application/x-www-form-urlencoded;application/json; charset=utf-8');
      header.set('Accept','application/json');

      const options = {headers: new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded;application/json; charset=utf-8', 'Accept': 'application/json'}),
            observe: 'response' as 'response',
            responseType: 'json' as 'json',
            body: busRequest}; 

    this.http.request('post', 'http://localhost:55047/api/bus', options).subscribe();


**Approach 2:**
    let headers = new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded;application/json; charset=utf-8', 'Accept': 'application/json'});
      
    this.http.post('http://localhost:55047/api/bus', JSON.stringify(Request), {headers: headers}).subscribe(data => {
        console.log(data);
     });

But nothing works.

Response is:

tatus: 415
title: "Unsupported Media Type"
traceId: "00-403257012c151a469a0e24b083d61d62-56ac63710daf8c45-00"
type: "https://tools.ietf.org/html/rfc7231#section-6.5.13"

Did anyone faced the similar problem?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source