私はWebAPIを構築しており、ActionNameで正しいメソッドにルーティングしようとしています。それは、私が呼び出しようとしている私のメソッドの一つで動作しますが、もう一つは404エラーを受け取ります。 WebAPI ActionName routing half working
マイWebAPIの設定ファイル
:public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
マイWebAPIのコントローラのメソッドは、このようなとしてフォーマットされています
この最初のものは作業1である:
[ActionName("postdb")]
public IEnumerable<string[]> postDB(string id)
{ ...
この第二の1にはありません。
[ActionName("getquery")]
public IEnumerable<string[]> getQuery(string tables)
{ ...
私は(温度引数として渡される文字列である)の角度から同じように、それらの両方を呼んでいる:
$http.post('api/Test/postdb/' + temp).then(function (response) { ...
と
$http.get('api/Test/getquery/' + temp).then(function (response) { ...
私は両方のアクションの名前を変更しようとしています最初のものは名前に関係なく動作し、2番目のものは名前に関係なく動作しません。私はまた、それらを並べ替え、GETとPOSTの間で変更し、引数を変更しようとしました。
提案がありますか?
感謝を。私はそれを変更する作業をします! – user6846524