我使用
camelCase
作为键的 JSON 命名约定(就像其他许多人一样,例如 Google)。如果我要创建一个新对象并以 JSON 形式发送到客户端,这很好。
然而,有些数据来自数据库,该数据库返回包含数百个
key:value
对的记录。然后将它们发送给客户,例如 return res.status(200).json(DBData);
数据库中的记录全部以小写形式显示。所以我最终得到:
{
userid: 1234,
shortdesc: "I am a bot",
longdesc: "I am a robot with OS level 1.1",
addressline1: "5 Belvadier Heights",
addressline2: "Southampshire"
towncity: "London"
...
}
为了遵循命名约定,我必须在路由器中编写一个函数来手动将所有内容重命名为驼峰命名法(因为你如何告诉它在哪里更改大小写?):
{
userID: 1234,
shortDesc: "I am a bot",
longDesc: "I am a robot with OS level 1.1",
addressLine1: "5 Belvadier Heights",
addressLine2: "Southampshire"
townCity: "London"
...
}
我真的必须这样做吗?或者有更好/不同的方法吗?请记住,我以前没有在团队/组织环境中工作过,所以不想给任何人带来麻烦。
有几种方法可以解决这个问题。如果你使用的是springboot + mybatis。
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
如果您不使用此堆栈,则可以使用“lodash”库。