2017-11-30 3 views
1

私はWPF C#アプリケーションで動作するWeb APIを持っています。私はそれを実装するためにOwinを使いました。接頭辞/apiを使用してリクエストを送信すると、期待どおりに動作します。C#Web APIルートプレフィックス

http://localhost:8080/api/test/config?no=7 

ただし、/ api接頭辞を削除する必要があります。下のサンプルコードを試したときに、私が下の要求を試してもうまくいきません。

http://localhost:8080/test/config?no=7 

リクエストからapi単語を削除することはできますか?ここで

は私のコードです:

WebApp.Start<Startup>(url: "http://*:8080/"); 

    class Startup 
    { 
     Type ValuesControllerType = typeof(TestController); 

     public void Configuration(IAppBuilder Builder) 
     { 
      var Instance = new HttpConfiguration(); 

      Instance.MapHttpAttributeRoutes(); 

      Instance.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "{controller}/{action}/{request}", 
       defaults: new { request = RouteParameter.Optional } 
      ); 

      Builder.UseWebApi(Instance); 
     } 
    } 

    [RoutePrefix("test")] 
    public class TestController : ApiController 
    {  
     [HttpGet] 
     [Route("config")] 
     public string Config(string No) 
     { 
      try 
      { 
       return No; 
      } 
      catch (Exception e) 
      { 
       return string.Empty; 
      } 
     } 
    } 

私はC# web api route for a webserviceで答えを試みたが、うまくいきませんでした。

私は、次の取得エラー:

config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{action}" 
     ); 

+0

ときに '[RoutePrefix( "テスト")]あなたは'エラーエン示してもらえますか? – Marusyk

+0

質問を編集しました。サービスを利用できないというエラーが表示されます。 – Demir

答えて

1

のREST APIには、あなたが見つける必要があり、次のコードをあなたのWebApiConfig.csを開きます.Net Core 2 WebAPIプロジェクトの同じ問題

ここは私のソリューションです

[Produces("application/json")] 
[Route("[controller]")] 
public class DefaultController : Controller 
{ 
    [Route("getUser")] 

    public IActionResult GetUsers() 
    { 
     return Ok(); 
    } 
} 

アドレスがhttp://localhost:port/default/getuser

+0

[this](https://stackoverflow.com/questions/37772816/remove-api-prefix-from-web-api-url)には奇妙ですが、それはうまくいくはずです。 'config.MapHttpAttributeRoutes();'は引き続き有効です。あなたが 'webapiconfig.cs'にデバッグポイントを置いてもそれはまだそこに行きますか、あるいはあなたのowinクラスにしか入りませんか? – Dragonvil

1

私が直面しているから、APIを削除してください:

HTTP Error 503. The service is unavailable.