-2
新來ServiceStack。我設置了一些服務,許多工作正常。然而,我有一個獲取請求,由於某種原因不打我的服務。我可以打一個Get返回列表,但不是服務返回一個特定的ID。郵遞員電話只是返回OK狀態。ServiceStack服務的GetRequest不起作用
這裏是我的要求類
[Route("/InspectorIDRequest/{InspectorID}", Verbs = "GET")]
public class GetInspectorIDRequest
{
public int InspectorID { get; set; }
}
頂端方法在我的服務一起 通話作品首次獲得的點擊與呼叫
http://localhost:50238/Inspector
第二個GET永遠不會用電話打
http://localhost:50238/InspectorIDRequest/?InspectorID=2
這裏是我的服務
// Returns a list of Inspectors to the user given a GetInspectorsRequest (which is empty)
public List<Inspector> Get(GetInspectorRequest request)
{
InspectorDataWorker pdp = new InspectorDataWorker(Db);
return pdp.GetInspectorList();
}
// Return a single Inspector given their InspectorID
public Inspector Get(GetInspectorIDRequest request)
{
InspectorDataWorker pdp = new InspectorDataWorker(Db);
return pdp.GetInspectorByID(request.InspectorID);
}
感謝您的幫助!
謝謝@mythz。請閱讀Wiki。難以將路由與服務關聯,然後關聯到DataWorker方法。我希望我現在有更好的理解。例如,如果我有當前請求 –
謝謝@mythz。請閱讀Wiki。難以將路由與服務關聯,然後關聯到DataWorker方法。我希望我現在有更好的理解。例如,如果我有當前的獲取檢查器請求返回所有檢查器的列表。我可以添加一個包含{FirstName *}的路線,然後將FirstName屬性包含到請求中。那麼在目前返回完整列表的服務中,如果有Req參數存在,我可以改變它來調用不同的Dataworker方法嗎?這是最佳做法還是應該將服務分開? –
@markh結帳上[設計一個基於消息的API的](http://stackoverflow.com/a/15941229/85785)這個前面的回答。我建議根據響應類型和調用語義來拆分服務,例如我會分開返回多個單一結果的服務。此外,我會盡量減少通配符的使用,他們是貪婪的設計,並可能比你想要的更多的路線。 – mythz