小写模型端点(用户而不是用户)

时间:2014-10-11 01:43:52

标签: loopbackjs strongloop

我希望我的REST API端点使用模型的所有小写字母。

对于内置的User模型,我是否只需创建一个名为userUser为基础的新模型?或者我应该使用另一种方法吗?

3 个答案:

答案 0 :(得分:6)

有几个选择:

  1. 目前,端点名称不区分大小写,即/ api / users和/ api / Users都可以正常工作。
  2. 您可以在模型定义json中自定义模型端点名称,例如

    “http”:{“path”:“/ my-users”}

  3. 有待处理的PR:https://github.com/strongloop/loopback/pull/433

  4. 正如Simon指出的那样,您可以继承User模型。请默认端点名称来自模型名称的复数。

答案 1 :(得分:2)

是。您只需使用slc loopback:model user生成新模型,按照提示操作,然后将base属性值从PersistedModel更改为User中的common/models/user.json

我在这里有一个例子:https://github.com/strongloop/loopback-example-access-control/blob/master/common/models/user.json#L3

答案 2 :(得分:2)

实现此目的的最佳方法是在normalizeHttpPath文件中将true设置为/server/config.json

...
"remoting": {
  "rest": {
    ...
    "normalizeHttpPath": true,
  },
},

normalizeHttpPath设置为true时,它会转换(在HTTP路径中):

  • 大写字母为小写。
  • 下划线(_)为短划线( - )。
  • CamelCase以划线划分。

例如," MyClass"或者" My_class"变成了我的班级"在HTTP路径中。

注意:它不会影响占位符(例如":id")。

有关详细信息,请查看config.json的官方文档中的remoting properties