在控制器的route屬性中,如果可能,我想爲我的rest api添加更多參數。我如何在運行代碼時獲取/使用它們。帶有額外參數的routemapping c#net core
控制器的默認路由如下所示。
[路線( 「API/[控制器]」)
,我想有不喜歡
[路線( 「API/[語言]/[控制器]」)
然後將語言值傳遞給下一層。 所以我可以有一個默認語言或用戶可以覆蓋它,如果他想。
在控制器的route屬性中,如果可能,我想爲我的rest api添加更多參數。我如何在運行代碼時獲取/使用它們。帶有額外參數的routemapping c#net core
控制器的默認路由如下所示。
[路線( 「API/[控制器]」)
,我想有不喜歡
[路線( 「API/[語言]/[控制器]」)
然後將語言值傳遞給下一層。 所以我可以有一個默認語言或用戶可以覆蓋它,如果他想。
我發現的語言處理該damienbod都做關於在網絡核心API語言處理的例子。語言在路線和額外參數這個問題的好例子。
可以通過使用[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」)]
謝謝,是的,我知道,但有越來越遠的價值觀不設定它們每一種方法。如http:// localhost:62564/api/test/Hindi/GetDetails – joakimja
您可以使用[RoutePrefix]屬性爲整個控制器設置一個通用屬性: –
我已更新上述示例。 –