J'utilise Web API 2 et j'obtiens l'erreur suivante lorsque j'envoie un POST à ma méthode API à l'aide d'IIS 7.5 sur ma boîte locale.
The inline constraint resolver of type 'DefaultInlineConstraintResolver' was unable to resolve the following inline constraint: 'string'.
Line 21: GlobalConfiguration.Configuration.EnsureInitialized();
Aucune de mes API ne fonctionne avec IIS. Cependant, je suis en mesure d'exécuter mon projet d'API dans Visual Studio à l'aide d'IIS Express et de réussir un POST à mon API de connexion, mais lorsque j'essaie de faire une requête GET à un autre appel d'API, j'obtiens l'erreur du résolveur de contraintes.
Afin de résoudre ce problème, j'ai créé un tout nouveau projet Web API 2 dans Visual Studio et j'ai commencé à importer les API existantes dans le nouveau projet une à la fois et à les exécuter pour m'assurer qu'elles fonctionnent. En utilisant IIS Express avec ce nouveau projet, j'obtiens les mêmes résultats exacts qu'avec mon projet d'API existant.
Qu'est-ce que j'oublie ici? Même avec un tout nouveau projet, je ne suis pas en mesure de faire des requêtes GET sans rencontrer ce problème de résolution de contraintes.
string
ne peux appliquer aucune contrainte.Une dernière chose si vous ne pouvez pas utiliser int, bool ou toute autre contrainte, il est sensible à la clé et vous devez supprimer les espaces blancs.
la source
trim()
les ont après le fractionnement et avant de faire une comparaison ... Ne pas couper les cordes utilisées comme clés est une bête noire majeure de la mienne depuis mes jours FoxPro.J'ai également eu cette erreur lorsque j'ai laissé un espace entre le nom de la variable et le type de variable dans l'itinéraire, comme ceci:
Ce devrait être le suivant:
la source
J'ai conçu une route API pour une méthode d'API Web Undo et j'ai essayé d'appliquer la validation du type de données ENUM à l'action dans la route et j'ai rencontré sous Erreur DefaultInlineConstrainResolver
Pour appliquer la contrainte ENUM, vous devez créer une personnalisation
OrderCorrectionEnumRouteConstraint
à l'aide deIHttpRouteConstraint
.Référence (Ceci est mon blog): https://rajeevdotnet.blogspot.com/2018/08/web-api-systeminvalidoperationexception.html pour plus de détails
la source
J'ai eu cette erreur lorsque Type est déclaré en tant que chaîne. Quand j'ai changé ça en int, ça a commencé à fonctionner
la source