在Response中返回HttpStatusCode

Cha*_*kin 18 nancy

有没有一种简单的方法可以为我的api返回一个HttpStatusCode?我发现了一个稍微冗长的方法来做到这一点

return Response.AsJson(new object(), HttpStatusCode.NoContent);
Run Code Online (Sandbox Code Playgroud)

我看过这个Response类的源代码了

 public static implicit operator Response(HttpStatusCode statusCode) { ... }
Run Code Online (Sandbox Code Playgroud)

这是我在找什么?如果是这样我如何使用它,我真正希望能做的是

return Response(HttpStatusCode.NoContent);
Run Code Online (Sandbox Code Playgroud)

nem*_*esv 27

你可以直接HttpStatusCode从你的行动中退回:

Get["/hello/"] = parameters => {
    return HttpStatusCode.NoContent;
};
Run Code Online (Sandbox Code Playgroud)

文档:

Response对象声明了几个隐式转换运算符,它们使一个动作也能够返回Response以下任何一个而不是一个对象

  1. int 这将被解释为响应的HTTP状态代码
  2. HttpStatusCode 可枚举的价值
  3. string 这将被解释为响应的主体
  4. Action<Stream> 这是一个写入响应流的函数