gpt4 book ai didi

json.net - 通过协商更改 NancyModule 中的 json.net 配置

转载 作者:行者123 更新时间:2023-12-01 06:31:58 28 4
gpt4 key购买 nike

我有一个案例,我有两条路线将为同一模型返回不同格式的 json。在一种情况下我想包括空值,在另一种情况下我不想。

我对此的解决方案是创建第二个 JsonSerializer 并直接在 NancyModule 中调用它,但我失去了协商的灵活性。不过,我想做的是将其与谈判 Hook ,以便进行以下操作:

return Negotiate 
.WithStatusCode(HttpStatusCode.OK)
.WithModel( MyModel)
**.WithSerializer( MyCustomerJsonSerializer)**
.WithView("MyView");

最佳答案

一种选择是创建自己的 IResponseProcessor,like the existing Json one ,并注册它而不是默认的。在处理器中,确保根据路由使用不同的序列化程序(当前上下文在处理器中传递)。或者,您可以根据上下文的 Item 集合中的某些内容来决定使用哪个序列化程序。

这样,其中一个路由可以在上下文中设置一些东西,这将驱动处理器选择一个或另一个序列化器。

关于json.net - 通过协商更改 NancyModule 中的 json.net 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321679/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com