ServiceStack RequestBindingException

Don*_*itz 3 c# api servicestack

我正在使用ServiceStack构建一个相当简单的服务,但是我在我的几个服务上遇到了这个非描述性错误(在浏览器中尝试查看uri时).errorCode:RequestBindingException.消息:无法绑定请求.

这是我的DTO:

[Route("/jtip/cases/{Count}, GET")]
public class AgencyCaseSummary : IReturn<AgencyCaseSummaryResponse>
{
    public int Count { get; set; }
}

public class CaseSummary
{
    public int Id { get; set; }
    public string AgencyCaseNumber { get; set; }
    public string AgencyRepName { get; set; }
    public string Service { get; set; }
    public string Milestone { get; set; }
    public string Status { get; set; }
}

public class AgencyCaseSummaryResponse
{
    public List<CaseSummary> CaseSummary { get; set; }
    public int ActiveCaseCount { get; set; }
    public int OpenRequestCount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的服务:

public class AgencyCaseSummaryService : ServiceStack.ServiceInterface.Service
{
    // Injection handled by Funq 
    public IRequestService RequestService { get; set; }
    public ILog Log { get; set; }

    /// <summary>
    /// Gets the case summary for the most recent cases
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public AgencyCaseSummaryResponse Get(AgencyCaseSummary request)
    {
        AgencyCaseSummaryResponse summary = new AgencyCaseSummaryResponse();
        Log.Info("Created new agency case summary call");
        try
        {
            if (request.Count > 0)
            {
                var caseSummary = RequestService.GetRecentCases(request.Count);
                summary.ActiveCaseCount = caseSummary.ActiveCaseCount;
                summary.OpenRequestCount = caseSummary.OpenRequestCount;

                if (caseSummary.Cases.Count > 0)
                    summary.CaseSummary = DTOMapper.Map(caseSummary.Cases);
            }
        }
        catch (Exception ex)
        {
            Log.Error("Api.AgencyCaseService", ex);
        }
        return summary;
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?错误是什么意思?

Wil*_*ith 7

[Route("/jtip/cases/{Count}, GET")]
public class AgencyCaseSummary : IReturn<AgencyCaseSummaryResponse>
{
    public int Count { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

route属性需要URL模板和方法作为单独的参数(请参阅RouteAttribute.cs)

因此,要解决您的问题,请将属性更改为

[Route("/jtip/cases/{Count}", "GET")]
Run Code Online (Sandbox Code Playgroud)

至于错误的含义,当路由匹配但是无法转换(或反序列化)URL时,它会被RestHandler(RestHandler.cs)抛出