我在使用 ServiceStack 返回没有正文的 HTTP 204 时遇到问题
如果我回来:
return new HttpResult() {
StatusCode = HttpStatusCode.NoContent
};
Run Code Online (Sandbox Code Playgroud)
第一次它工作正常,但重复调用将导致 Fiddler 抛出错误,指出上次响应未正确形成。我相信这是因为内容类型未明确设置为application/json,并且响应返回空字符串或单个空格字符。
ContentType = "json"由于某种原因对对象进行的设置HttpResult会返回 HTTP 405 响应。(这是一个侧面的好奇心 - 不是我主要关心的)
如果我返回 void,则响应是 HTTP 200,我当前正在使用它,但我想我可以提供首选的 204 响应。
谢谢你的时间。
我通常会按照这些思路做一些事情
public void Delete(FooRequest request) {
// Perform deletion
base.Response.StatusCode = (int)HttpStatusCode.NoContent;
}
Run Code Online (Sandbox Code Playgroud)
我喜欢这种方法而不是全局响应过滤器,因为这使我可以将与此请求相关的所有逻辑放在同一个位置,而不必记住我拥有哪些响应过滤器。
| 归档时间: |
|
| 查看次数: |
15012 次 |
| 最近记录: |