我正在使用 WCF 开发 REST 服务,但我不知道当我POST
无效时必须返回哪种类型的 HTTP 状态代码Message
。注意:此处的消息类似于聊天消息(文本和一些数据)。
这就是我实现 WCF 服务的方式:
服务合同:
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "/messages",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
Message AddMessage(Message message);
服务实施:
public Message AddMessage(Message message)
{
OutgoingWebResponseContext ctx =
WebOperationContext.Current.OutgoingResponse;
if (message == null)
{
ctx.StatusCode = System.Net.HttpStatusCode.RequestedRangeNotSatisfiable;
ctx.StatusDescription = "message parameter is null";
throw new ArgumentNullException("message", "AddMessage: message parameter is null");
}
using (var context = new AdnLineContext())
{
context.Entry(message).State = EntityState.Added;
context.SaveChanges();
}
return message;
}
现在我使用RequestedRangeNotSatisfiable
(HTTP 416)。但我不知道这是否是我 POST 无效时返回的 HTTP 状态代码Message
。
当我发布一个无效对象时,我必须返回什么样的 HTTP 状态代码?