首页 > 解决方案 > 如何强制 Nancy 对整数使用 application/json 响应?Nancy 假设它们是 StatusCode

问题描述

我发现这个线程Override the default Content-Type for response in NancyFx并会在那里发表评论,但还没有达到 50 个代表的要求,因为这是我潜伏多年后的第一个帐户。

因此,如果这个问题不能证明独立线程的合理性,请多多包涵。恐怕我无法仅使用搜索来解决此问题。进入主题...

--> 如果我有一个返回对象或 json 字符串的路由,那么返回它就没有问题。例如,在 NancyModule

this.Get("/patient/{id}", args => this.dataSource.GetPatientById(args.id)); // returns Patient model

返回正确序列化的对象。如果我连接到 AfterRequest 管道,我可以看到这context.Response.StatusCode是预期OK的 。context.Response.ContentType"application/json; charset=utf-8"

现在,如果我有一个只返回一个整数的路由,如下所示:

this.Get("/patient/new"), args => this.dataSource.GetNextAvailablePatientId()) // returns int Id

然后南希显然将该 ID 作为 HttpStatusCode。AfterRequest 管道现在显示它context.Response.ContentType"text/html"并且context.Response.StatusCode是我希望成为实际内容的 Id。

当我调用路线时,GET /patient/new我希望它只返回 ie 42,不返回"42"或其他一些符号。有没有办法配置南希以这种方式返回我的 ID?

标签: jsonintegerresponsenancyhttp-status

解决方案


推荐阅读