C# 路由前缀命名限制?
我有一个带有post方法的简单asp.net web api控制器。在该api控制器的顶部,如果我用“sigs”命名RoutePrefix属性,则post操作正在工作;职位C# 路由前缀命名限制?,c#,asp.net-web-api,C#,Asp.net Web Api,我有一个带有post方法的简单asp.net web api控制器。在该api控制器的顶部,如果我用“sigs”命名RoutePrefix属性,则post操作正在工作;职位 如果我使用诸如“签名”之类的名称命名RoutePrefix属性,则会出现“405代码方法不允许”的运行时错误: POST-->返回405状态代码 如果我使用诸如“签名”之类的名称命名RoutePrefix属性,则会出现运行时错误,出现“400错误请求”: POST-->返回400个错误请求 问题:我不确定“签名”或“
- 如果我使用诸如“签名”之类的名称命名RoutePrefix属性,则会出现“405代码方法不允许”的运行时错误:
- 如果我使用诸如“签名”之类的名称命名RoutePrefix属性,则会出现运行时错误,出现“400错误请求”:
[RoutePrefix("sigs")]
public class SignatureApiController : ApiController
{
private readonly ISignatureService _signatureService;
public SignatureApiController(ISignatureService signatureService)
{
_signatureService = signatureService;
}
[Route("")]
[HttpPost]
public HttpResponseMessage CreateSignature(SignatureFormModel sig)
{
var val = _signatureService.Save(sig.ImageData, sig.ContactId);
return val ? Request.CreateResponse(HttpStatusCode.Created, new { ContactId = sig.ContactId, _signatureService.Result }) : Request.CreateErrorResponse(HttpStatusCode.BadRequest, _signatureService.Result);
}
}
[RoutePrefix("signatures")]
// [RoutePrefix("signature")]
// Note: RoutePrefix named "signatures" causes error '405: Method Not Allowed' ; RoutePrefix named "signature" causes error: '400: Bad Request'
public class SignatureApiController : ApiController
{
private readonly ISignatureService _signatureService;
public SignatureApiController(ISignatureService signatureService)
{
_signatureService = signatureService;
}
[Route("")]
[HttpPost]
public HttpResponseMessage CreateSignature(SignatureFormModel sig)
{
var val = _signatureService.Save(sig.ImageData, sig.ContactId);
return val ? Request.CreateResponse(HttpStatusCode.Created, new { ContactId = sig.ContactId, _signatureService.Result }) : Request.CreateErrorResponse(HttpStatusCode.BadRequest, _signatureService.Result);
}
}