我对用于实现REST服务的约定感到困惑:据我所知,如果服务不改变服务器状态的任何内容,则应使用GET请求。
但是如果预期服务接受某些数据并返回该数据的结果,则无法合理使用GET请求,因为它不能有请求体(根据我读过的某些页面)或者它确实有一个请求体,它不应该影响服务的语义。处理这个问题的正确方法是什么?
此外,返回有关服务的元数据的最佳策略是什么?例如,如果服务接受POST请求来处理我的数据,那么使用GET到同一个端点是一个很好的约定来返回有关服务的元数据吗?
更新:我想到的服务类型的示例:发送文档集合并获取文档相似性矩阵,发送大型CSV文件并返回某种统计分析......那种事情。本质上,服务计算f(x),其中x往往是一个大文件。