Message d'exception :"Aucun MediaTypeFormatter n'est disponible pour lire un objet de type 'user' à partir d'un contenu avec le type de média 'multipart/form-data dans 'postman'
-
22-12-2019 - |
Question
Je crée le service de connexion à l'aide de l'API Web.Quand je vérifie avec fiddler
ça marche bien mais quand je vérifie avec postman
de chrome
il affiche une erreur :
{ "Message": "An error has occurred.",
"ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'user' from content with media type 'multipart/form-data'.",
"ExceptionType": "System.InvalidOperationException",
"StackTrace": "
at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Web.Http.ModelBinding.FormatterParameterBinding.ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)\r\n
at System.Web.Http.Controllers.HttpActionBinding.<>c__DisplayClass1.<ExecuteBindingAsync>b__0(HttpParameterBinding parameterBinder)\r\n
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n
at System.Threading.Tasks.TaskHelpers.IterateImpl(IEnumerator`1 enumerator, CancellationToken cancellationToken)"
}
public class user
{
//public user(string userId, string password)
//{
// UserId = userId;
// Password = password;
//}
public string UserId { get; set; }
public string Password { get; set; }
}
Je m'enregistre postman
si ce service est capable d'accéder à une application mobile.Aussi, pour vérifier cela dans le système Mac.
La solution
Cliquez sur le bouton En-tête, saisissez cet en-tête et cette valeur
Content-Type: application/json
vérifiez le lien ci-dessous pour que Fiddle et Postman utilisent tous deux les mêmes types de contenuErreur lors de l'envoi de json dans POST au service API Web
Autres conseils
Je rencontre le même problème, mais plus tard, j'ai compris que j'appelais WebAPI en utilisant Ajax Post à la place, je l'ai changé pour obtenir et cela a fonctionné.Mais l’erreur était surtout trompeuse.Donc tout le temps, je me concentrais sur le type de média.
Le type de média « text/plain » de l'entité de requête n'est pas pris en charge pour cette ressource.",
$http({
method: 'POST',
Changez-le en
$http({
method: '**GET**',