我想用包含可选参数的delete方法设计一个rest API。我认为不推荐使用delete方法的主体。我需要将参数作为路径参数/查询参数传递.Can我在路径参数/查询参数中有可选字段吗?
我的资源如下
DELETE policy / {policy-number} / {entity-type} / endorse-number
实体类型是可选的。
任何有用的帮助。
答案 0 :(得分:2)
在Roy T. Fielding的论文的chapter 5中定义的REST架构风格没有说明URL必须是什么样的。它定义了一组约束,这些约束必须遵循这种体系结构的应用程序。
另一方面,Martin Fowler编写的这个article的示例解释了由Leonard Richardson定义的模型建议一个看似友好的URL结构易于阅读。
您可以使用矩阵参数。假设您要删除给定策略的支持号码 (通过实体类型过滤),您可以使用:
DELETE /policy/{policy-number};entity-type={entity-type}/endorse-number
要删除给定策略的支持号码 ,只需删除实体类型过滤器:
DELETE /policy/{policy-number}/endorse-number