【发布时间】:2016-02-17 14:44:20
【问题描述】:
在 web api 中,我返回匿名类型,如下所示:
return Request.CreateResponse(HttpStatusCode.OK, new
{
SomeNameHere = new {Message = "my message"}
});
我正在尝试编写这样的扩展方法:
public static class RequestExtensions
{
public static HttpResponseMessage CreateMyResponse(
this HttpRequestMessage httpRequestMessage,
HttpStatusCode statusCode,
string wrapper,
string message)
{
return httpRequestMessage.CreateResponse(statusCode, new
{
wrapper = new
{
Message = message
}
});
}
}
它会被这样调用:
return Request.CreateMyResponse(HttpStatusCode.OK, "SomeCommand", "some message");
但是,当我运行它并在邮递员中测试端点时,这就是我得到的结果:
{ “包装”:{ "消息": "一些消息" } }
我明白为什么这不起作用,我只是想找到一个可以正确返回它的替代解决方案:
{ “一些命令”:{ "消息": "一些消息" } }
我意识到我可以制作这个对象并以这种方式返回它,但是我不想像这样一次性创建一大堆新对象。任何帮助深表感谢。谢谢。
【问题讨论】:
标签: asp.net-web-api extension-methods anonymous-types