Restful API URL,用于获取不同文件类型格式的json数据
我正在构建restful API URL以获取产品数据。所以我有Restful API URL,用于获取不同文件类型格式的json数据,rest,api-design,Rest,Api Design,我正在构建restful API URL以获取产品数据。所以我有 POST /products GET /products GET /products/{:id} DELETE /products/{:id} 其中一个需求是提供端点,以获取JSON格式的产品数据,并将其导出为不同的文件格式(CSV和PDF)。它将由其他服务(导出服务)调用 答复示例: PDF格式 { products_pdf: { title: 'Products', sub_title: 'as p
POST /products
GET /products
GET /products/{:id}
DELETE /products/{:id}
其中一个需求是提供端点,以获取JSON格式的产品数据,并将其导出为不同的文件格式(CSV和PDF)。它将由其他服务(导出服务)调用
答复示例:
PDF格式
{
products_pdf: {
title: 'Products',
sub_title: 'as per May 20 2018',
products: [
{
name: 'product A',
},
{
name: 'product B',
}
]
}
}
对于CSV,响应比PDF更简单。根据需求,不能在一个响应中同时提供这两种服务
{
products_csv: [
{
name: 'product A',
},
{
name: 'product B'
}
]
}
什么是适合它的restful URL端点
我在想我喜欢的东西
GET /products/exports/{:file_format}
GET /products/exports/csv
GET /products/exports/pdf
旧的Google Finance API以多种格式提供历史数据。可以通过查询字符串参数
输出的不同参数请求这些格式
例如:
http://www.google.com/finance/historical?q=GOOGL&output=csv
您可以设计端点来处理参数,并根据指定的输出参数以某种格式返回响应。如果提供的输出类型无效,请选择最适合您的特定数据的默认值。旧的Google Finance API以多种格式提供历史数据。可以通过查询字符串参数输出的不同参数请求这些格式
例如:
http://www.google.com/finance/historical?q=GOOGL&output=csv
您可以设计端点来处理参数,并根据指定的输出参数以某种格式返回响应。如果提供的输出类型无效,请选择最适合您的特定数据的默认输出类型。对于我来说,数据的格式是可选的,因此不应指定资源端点。对我来说,最合理的解决方案是使用默认格式,并使用查询字符串参数来覆盖,例如
GET /products?format={pdf|csv}
对我来说,数据的格式是可选的,因此不应指定资源端点。对我来说,最合理的解决方案是使用默认格式,并使用查询字符串参数来覆盖,例如
GET /products?format={pdf|csv}
在我看来,在URL中使用“导出”这个词看起来不太好。端点可以在url扩展中具有响应类型
例:
如果您不喜欢这种模式,您可以很好地使用。IMO,在URL中使用“导出”一词看起来不太好。端点可以在url扩展中具有响应类型
例:
如果您不喜欢此模式,可以很好地使用。如何在端点方法定义上方的代码中编写此模式?您需要在值对象类字段中添加什么注释来说明CSV?如何在端点方法定义上方的代码中编写该注释?您需要在值对象类字段中添加什么注释来说明CSV?