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)
我在这里错过了什么吗?错误是什么意思?
[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)抛出
| 归档时间: |
|
| 查看次数: |
5605 次 |
| 最近记录: |