使用servicestack创建了REST服务,在post请求中我有以下方式返回对象
  return new HttpResult(request)
                {
                    StatusCode = HttpStatusCode.Created,
                };
request:我在数据库中发布的对象

当我在fiddler中检查它时,它会在响应正文中呈现整个HTML页面的servicestack,而不是我想仅返回状态代码,所以请告诉我该怎么办?
谢谢
在<v3.05之前的版本中存在一个在某些情况下不尊重HttpResult ContentType的错误,现在应该使用NuGet上的最新版本的ServiceStack修复它,或者从以下位置获得:
https://github.com/ServiceStack/ServiceStack/downloads
在此之前,您仍然可以通过更改HttpClient上的Accept:application/json Request Header或在您的url的查询字符串上附加?format = json来强制执行所需的ContentType .
所以现在如果您不希望序列化任何DTO,则不要将其添加到HttpResult:
return new HttpResult() { StatusCode = HttpStatusCode.Created };
请注意,如果在浏览器(或任何接受的Rest客户端:text/html)中调用此服务,您仍可能会收到空的Html响应.您可以通过在结果中指定它来强制ContentType不会输出任何响应(如果它具有空的有效负载(例如JSON/JSV)),例如;
return new HttpResult() { 
    StatusCode = HttpStatusCode.Created,
    ContentType = ContentType.Json
};
| 归档时间: | 
 | 
| 查看次数: | 3045 次 | 
| 最近记录: |