J'ai créé des projets webapi non-core pour interagir avec les applications mobiles. par exemple Si j'ai créé un contrôleur appelé Data et qu'il a une méthode appelée Recherche comme show ci-dessous. le projet a été configuré pour envoyer et recevoir des données json.peut seulement poster à la méthode de poste dans aspap core webapi
[HttpPost]
public Searchresult search(SearchQuery s)
{
// code to search
return sr; //object of type Searchresult
}
je pourrais envoyer la demande de poste à cette méthode en utilisant postier en utilisant l'adresse suivante http://localhost/api/Data/search
De même, je peux créer d'autres fonctions à l'intérieur du contrôleur et les appeler en utilisant la voie «/api/[contrôleur] /[action]'.
Je ne pouvais pas faire la même chose dans le projet asp.netcore web api. Le routage était le niveau de contrôleur i.e '/ api/[controller]' et chaque fois que je publiais, seule la méthode de post était touchée. mis en œuvre int eh suivant. Il est exécuté quand je poste à « http://localhost/api/Data »
[HttpPost]
public string Post([FromBody] testclass t)
{
return "{\"a\":\"" + t.a + "\",\"b\":\"" + t.b + "\"}";
}
Le code suivant est jamais exécuté quand je poste à « http://localhost/api/Data/test »
[HttpPost]
public string test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
Il ne s'agit pas d'un comportement «normal» d'un Core Api, il y a donc probablement quelque chose qui ne va pas avec vos routes ou un autre problème non couvert par le code fourni. Vous aurez plus de chance en vous référant à un scénario spécifique avec lequel vous rencontrez des problèmes (plutôt qu'une explication abstraite de ce que vous pensez être le problème) et en publiant votre code * réel *, car souvent, en créant un exemple de code fictif. vous éliminerez ou masquerez souvent le problème auquel vous êtes confronté dans votre code réel. –
en fait c'est mon code actuel. J'ai créé un projet factice pour tester l'API web de base afin que je puisse commencer à mettre en œuvre le projet actuel. –