2

要求:

{}当我的 ServiceStack 服务方法的返回类型为 时,我正在寻找一种返回空 JSON 对象(例如)的方法void

推理:

想要为类型返回空 JSON 对象的void原因是 jQuery 处理内容类型的方式application/json。正如这里所讨论200 - OK的,当收到一个没有内容的状态时,jQuery 会抛出一个错误。这是当前返回的无效内容。

预见问题:

我希望有一种简单的方法可以序列化void{}.

  • 如果这是可能的,这样做会产生不利后果吗?
  • 它会在预期时影响 ServiceStack c# 客户端void吗?
4

1 回答 1

1

我发现简单的解决方案是覆盖OnAfterExecute我的自定义 ServiceStack 中的方法ServiceRunner

如果没有响应(因为方法返回void),ContentTypeapplication/json发送一个空对象。

public override object OnAfterExecute(IRequestContext requestContext, object response)
{
    if(response == null && requestContext.ContentType == "application/json")
        response = new {};

    return base.OnAfterExecute(requestContext, response);
}
于 2013-12-05T14:56:55.650 回答