ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,618 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
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();
}
}
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