我正在使用NancyFX和C#与.NET 4.0构建一个小型API(用于读取操作 - GET)
我正在使用Entity Framework 6.0来访问SQL Server 2008R2数据库。
我使用Nancy公开了以下路线(这仅用于测试目的):
public ExampleNancyModule()
{
Get["/v1/address_types"] = parameters =>
{
var address_types = context.address_type.First();
return Response.AsJson(address_types);
};
}
我可以使用Postman访问路线,但是我收到一个空的响应主体。如何使用Nancy返回对象和/或对象列表?
我想首先需要完成更多的配置。我是Nancy的新手,今天早上我才开始使用它。这似乎很有希望!
感谢您的支持。
答案 0 :(得分:2)
我找到了这种情况的解决方案:
我已经使用NewtonSoft.Json更改了Nancy附带的默认Json Serializer
ExampleNancyModule中的代码保持不变,但是我添加了一个Boostrap文件来覆盖Nancy的默认行为。我的Bootstrap.cs文件如下所示:
namespace MyProject
{
public class Bootstrap : DefaultNancyBootstrapper
{
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
base.ConfigureApplicationContainer(container);
container.Register<JsonSerializer, CustomJsonSerializer>();
}
}
public class CustomJsonSerializer : JsonSerializer
{
public CustomJsonSerializer()
{
this.ContractResolver = new CamelCasePropertyNamesContractResolver();
this.Formatting = Formatting.Indented;
}
}
}
有了这个,我可以获得一个尊重我的实体框架模型的属性和JSON配置的JSON响应。希望这有助于其他人。