2017-04-24 23 views
0

在控制器的route屬性中,如果可能,我想爲我的rest api添加更多參數。我如何在運行代碼時獲取/使用它們。帶有額外參數的routemapping c#net core

控制器的默認路由如下所示。

[路線( 「API/[控制器]」)

,我想有不喜歡

[路線( 「API/[語言]/[控制器]」)

然後將語言值傳遞給下一層。 所以我可以有一個默認語言或用戶可以覆蓋它,如果他想。

回答

0

可以通過使用[RoutePrefix]屬性設置爲整個控制裝置的通用參數:

請發現含有具有屬性的TestController [RoutePrefix]和方法「GetDetails」下面的例子。

[RoutePrefix("api/{language}/test")] 
public class TestController : ApiController 
{ 
    [Route("GetDetails")] 
    public string GetDetails(string language) 
    { 
     // Use language string parameter here. 
     return language; 
    } 
} 

此處RoutePrefix包含適用於所有方法的參數{language}。在方法屬性上使用代字號(〜)來覆蓋路由前綴。

例如 - 〔路線(「〜/ API /測試/ GetAllDetails」)]

+0

謝謝,是的,我知道,但有越來越遠的價值觀不設定它們每一種方法。如http:// localhost:62564/api/test/Hindi/GetDetails – joakimja

+0

您可以使用[RoutePrefix]屬性爲整個控制器設置一個通用屬性: –

+0

我已更新上述示例。 –