3

在我的 asp.net core 2.1 Web 应用程序中,我想更改服务器序列化 JSON 响应的方式。我想按原样序列化属性名称(不在 camlCase 或 PascalCase 中)。为了实现 mvc 控制器结果的序列化,我这样做了:

services.AddMvc().AddJsonOptions(opts =>
     opts.SerializerSettings.ContractResolver = new DefaultContractResolver())

现在我的控制器按照我的意图返回 JSON。

但是我的应用程序是一个单页 React 应用程序,它使用带有 spa 服务的服务器端渲染。每次用户使用浏览器的地址栏、通过刷新页面或通过外部链接导航到路由时,服务器都会使用asp-prerender-data帮助程序发送带有附加数据的预渲染 html。

似乎 spa 服务没有使用与 MVC 控制器相同的 JSON 序列化程序设置,并且我的初始页面数据以 camlCase 发送到客户端,这会破坏渲染。

DefaultContractResolver我该如何设置asp-prerender-data助手?

4

0 回答 0