Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
Improve this question
我们有一个系统,其中用C#编写的服务器实现REST接口(interface),而客户端使用JS编写,大多数数据作为JSON传递。
在某种程度上,camelCase和PascalCase世界之间存在冲突。
这些参数主要来自服务器内的名称,并且都在PascalCase中。
JS前端是使用camelCase编写的,并且由于JSON来自JS世界,因此期望服务器将接受此类参数。
什么将构成可接受的解决方案,为什么?
序列化的对象看起来像:
通过这种方法,您的C#代码与PascalCase一起使用,客户端(Javascript)将使用camelCase。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
Improve this question
我们有一个系统,其中用C#编写的服务器实现REST接口(interface),而客户端使用JS编写,大多数数据作为JSON传递。
在某种程度上,camelCase和PascalCase世界之间存在冲突。
这些参数主要来自服务器内的名称,并且都在PascalCase中。
JS前端是使用camelCase编写的,并且由于JSON来自JS世界,因此期望服务器将接受此类参数。
什么将构成可接受的解决方案,为什么?
最佳答案
对于Web API方法的参数,请使用“camelCase”,我认为此建议的.NET中方法参数的名称约定
对于属性,请使用JSON serialization attributes
public class Person
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
}
序列化的对象看起来像:
{ "id": 10, "name": "My Name" }
通过这种方法,您的C#代码与PascalCase一起使用,客户端(Javascript)将使用camelCase。
09-16 17:03