Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建RESTAPI时,是否有指定只读属性的命名约定?_Rest - Fatal编程技术网

创建RESTAPI时,是否有指定只读属性的命名约定?

创建RESTAPI时,是否有指定只读属性的命名约定?,rest,Rest,我在想,如果物业名称清楚地表明它是只读的,那么它会很有用 以这个对象为例: { "id":"12154", "name":"some name", "email":"email@something.com", "joinDate":"05/04/2012" } id和joinDate当然是只读属性,不允许通过PUT/POST请求进行更改。是否有某种类型的公约来标记这些?我想用下划线来做这件事: { "_id":"12154", "name":"s

我在想,如果物业名称清楚地表明它是只读的,那么它会很有用

以这个对象为例:

{
    "id":"12154",
    "name":"some name",
    "email":"email@something.com",
    "joinDate":"05/04/2012"
}
id和joinDate当然是只读属性,不允许通过PUT/POST请求进行更改。是否有某种类型的公约来标记这些?我想用下划线来做这件事:

{
    "_id":"12154",
    "name":"some name",
    "email":"email@something.com",
    "_joinDate":"05/04/2012"
}

REST中的只读属性没有命名约定。当然,您应该为自己的API建立任何您喜欢的约定。正如Fiver在他的评论中所说,你应该确保它们被清楚地记录下来,否则你的约定将是(a)混乱和(b)噪音的组合。

那么像密码这样的只写属性呢。您能在它们前面加上$吗有趣的问题。我不确定是否有关于只读字段的RESTAPI约定,但是,我的建议是在文档中包含此信息。没有文档的API不太可能被使用。实际上RESTAPI根本没有属性命名约定。有一些IRI和链接构建约定,但仅此而已。我认为链接/表单应该描述发送成功请求所需的所有输入,因此它与属性的表示无关…+1确切地说,我对REST API的期望是返回的键表示字段名。例如,如果一个主键在一个地方表示为
\u id
,我会感到困惑,但我必须使用
id
字段来使用URL参数获取资源。