Status 415 Unsupported Media Type Form-Data

Polachan Paily 221 Reputation points
2021-07-18T12:40:29.037+00:00

0

I am trying to call Post method from API controller from PostMan using form-data from Body . But after click of the Send button from postman , it is showed an error message "Unsupported Media Type"

public class PersonCreationDTO  
    {  
        [Required]  
        [StringLength(120)]  
        public string PersonName { get; set; }  
        public string Biography { get; set; }  
        public DateTime DateOfBirth { get; set; }  
        public IFormFile Picture { get; set; }  
          
    }  
  
  
public class Person  
    {  
        public int Id { get; set; }  
        [Required]  
        [StringLength(120)]  
        public string PersonName { get; set; }  
        public string Biography { get; set; }  
        public DateTime DateOfBirth { get; set; }  
        public string Picture { get; set; }  
    }  
[ApiController]  
    [Route("api/people")]  
 public class PeopleController:ControllerBase  
    {  
        private readonly ApplicationDbContext context;  
        private readonly IMapper mapper;  
  
        public PeopleController(ApplicationDbContext context, IMapper mapper)  
        {  
            this.context = context;  
            this.mapper = mapper;  
        }  
    [HttpPost]  
        public async Task<ActionResult> Post([FromBody] PersonCreationDTO personCreation)  
        {  
            var person = mapper.Map<Person>(personCreation);  
            context.Add(person);  
            //await context.SaveChangesAsync();  
            //var personDTO = mapper.Map<PersonDTO>(person);  
            //return new CreatedAtRouteResult("getPerson", new { Id = personDTO.Id }, personDTO);  
  
            return NoContent();  
        }  
}  

115633-image.png

ASP.NET Core
ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,150 questions
0 comments No comments
{count} vote

1 answer

Sort by: Most helpful
  1. Rena Ni - MSFT 2,061 Reputation points
    2021-07-19T01:28:55.333+00:00

    Hi @Polachan Paily ,

    You post form data to backend, so you need change FromBody to FromForm:

    public async Task<ActionResult> Post([FromForm] PersonCreationDTO personCreation)  
    

    If the answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Best Regards,

    Rena

    5 people found this answer helpful.
    0 comments No comments