Bonjour Je ne sais pas si quelqu'un a posté cette question mais que je suis mon premier, je vais essayer d'être aussi précis que possible.
J'essaie de passer plusieurs paramètres de chaîne à une API de base .NET une application angulaire 8 et en vain en vain. p>
Ceci est le code en angulaire: p> et ceci est le code dans le contrôleur API .NET COE : P> [Route("api/[controller]")]
[ApiController]
public class AngularTestController : ControllerBase
{
[HttpGet("CheckIfIDExists/{formattedNumber}/{vin}")]
public int CheckIfIDExists(string formattedNumber, string vin)
{
return 0;
}
}
4 Réponses :
Vous essayez de convertir des paramètres http en paramètre de chemin, si vous souhaitez que votre URL soit comme celle-ci
/ API / angularterest / checkiffidéxistes? Vin = Dummy & FormattedNumber = Manney Votre code est bon p>
mais de Ce que je vois, ce n'est pas la façon dont votre API fonctionne, essayez quelque chose comme ceci: p>
J'ai essayé cela mais ça ne va pas au point d'arrêt de l'API. Est le httpget ok tel qu'il est ou dois-je le modifier de quelque manière que ce soit?
Lors de l'envoi de la demande via Postman, il arrive au contrôleur, mais par le biais de l'angulaire. Ceci est la demande faite dans Postman: localhost: 44353 / API / AngularTest / 45674 / Test A > Où 45674 est un paramètre et testez l'autre
Essayez comme ça
Essayez simplement comme ça
[Route("api/[controller]")]
[ApiController]
public class AngularTestController : ControllerBase
{
[HttpGet("{formattedNumber}/{vin}")]
public int CheckIfIDExists(int formattedNumber, string vin)
{
return 0;
}
}
J'ai essayé d'ajouter les en-têtes, je ne sais toujours pas le point d'arrêt de l'angulaire.
Il suffit de supprimer checkiffidéxistes code> du côté backend aussi bien. puis essayez la solution suggérée.
Fonctionne maintenant! Merci :)
Le problème est avec la façon dont vous passez des paramètres, je ne comprends pas une chose des réponses ci-dessus, pourquoi vous devez modifier l'API. Je crois que simplement passer le droit des paramètres devrait fonctionner pour vous.
return this.http.get<number>(`https://localhost:44353/api/AngularTest/CheckIfIDExists/${formattedNumber}/${vin}`).pipe(
tap(data => console.log('Checked'),
catchError(this.handleError))
);
Dans votre site Web API httptiet, vous n'avez pas besoin du
checkiffidéxistes code> -> Stackoverflow.com/a/59294059/3902958 < / a>Supprimer votre attribut httpget. Votre
formattedNumber code> etVin code> sera envoyé comme des paramètres de requête:? FormattedNumber = YourNumberValue & Vin = Y Vinvalue Vin> Il ne correspond donc pasCheckifidéxistes / {FormattedNumber} / {VIN} CODE>Pouvez-vous partager une capture d'écran de votre demande d'onglet réseau des outils de développeur en suivant la réponse @alann.
@Farhatzaman rien ne se passe dans l'onglet Réseau qui est le problème que je crois :)
Toute erreur dans la console?
Aucune des erreurs du tout.