后端/前端/ API命名约定

问题描述 投票:0回答:1

例如,我们有2个由Java C#编写的微服务。带有Typescript的前端。Java使用驼峰式大小写,并具有一个带有查询参数和JSON响应的GET,C#使用pascal大小写,并具有一个带有查询参数和JSON响应的GET。TypeScript使用驼峰式大小写和两个GET。

第一个问题是:我们是否需要对GET内部的查询参数和JSON使用不同的用例(C#-pascal用例和Java-骆驼用例),或者我们需要对所有源使用一种约定?而且查询参数和JSON必须具有相同的大小写,不是吗?

第二个问题是:如果我已经有一些带有查询参数的API和Pascal情况下的JSON。我需要写一些“规范化器”将帕斯卡大小写映射到骆驼形吗?仅从我的角度来看,前端,后端和API可以具有不同的约定,但是开发人员需要映射来自其他地方的数据。但是为API中的所有数据在前端编写许多“序列化”可能会超重。

[根据我的经验,我在项目开发中所有零件都使用了驼峰箱,但我也开发了应用程序,其中后端和API使用了pascal箱,而前端使用了驼峰箱,但是我上一个遇到了一些问题。

只是想听听您对这个主题的看法,知道您是如何做到的?很高兴看到您自己的示例和经验。非常感谢!

rest api architecture naming conventions
1个回答
0
投票

几周前,我在目前正在研究的项目中遇到了同样的问题,并考虑了这些要点:

  1. 我们希望'面向公众'的实体具有相同的约定(端点,JSON DTO等)
  2. 我们想区分函数/方法和变量
  3. 我们不想影响技术内部的学习行为

我们进一步认为,snake_case比camelCase或PascalCase(https://en.wikipedia.org/wiki/Camel_case#Readability_studies)对人类的可读性更好。

因此,我们同意JSON中的键是snake_case,以提高可读性,并提供变量名,只要语言对此没有多大意见(即,对于JavaScript,我们采用snake_case,但对于Java,则不采用)。

我们进一步同意端点为camelCase,因为它是一种类似于构造的方法/功能。我们选择了camelCase而不是PascalCase,因为PascalCase在类名(通常为PascalCase)方面可能会产生误导。我们甚至为JavaScript函数使用了camelCase。

到目前为止效果还不错。希望能有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.