除了JSON和XML之外,我希望我的REST服务能够接受CSV文件。
我会接受HTTP PUT请求,例如:
PUT /myservice/user
Content-Type: text/csv; charset=utf-8
"tomas";"1980-01-01"
"george";"1981-02-02"
我希望能够为我的CSV文件接受不同的分隔符和其他格式选项。最好不使用查询字符串,这似乎不是适当的工具。我知道我可以创建自己的标题,例如:
PUT /myservice/user
Content-Type: text/csv; charset=utf-8
CSV-Delimiter: ,
CSV-Options: merge-duplicates, no-header-row
或者我可以将自己的参数发明给Content-Type(如果允许的话)(毕竟它是内容类型的一部分,就像使用的字符集一样):
PUT /myservice/user
Content-Type: text/csv; charset=utf-8; delimiter=,; options=no-header-row
处理此问题的正确方法是什么?是否有传统上使用的HTTP标头?
答案 0 :(得分:1)
对于" no-header-row"参数already exists:[header =" present" |"缺席"]。
至于向内容类型标题添加新参数:
新参数不应被定义为引入新参数的方式 标准树中注册的类型的功能,虽然是新的 可以添加参数以传达其他信息 否则不会改变现有功能。这方面的一个例子 将是一个"版本"用于指示修订级别的参数 外部规范,如JPEG。鼓励类似的行为 对于在供应商或个人树中注册的媒体类型,但不是 必需的。