我正在设计API,并且我已经为此操作强制执行了两个必需参数
我有两种选择来传递它们
1) /服务器/ SERVER_ID / EXTE / DEVICE_ID /剂/ AGENT_ID / live_monitoring
缺点:太长了
2) /服务器/ SERVER_ID / live_monitoring DEVICE_ID = 23&安培; AGENT_ID = 767
缺点:这些参数不应该是查询参数,因为它们不是必需的
我应该采用哪种方法?
答案 0 :(得分:1)
你应该决定
关于长网址 如果您不需要检查访问权限或属于父资源的其他内容,则可以使用
/server/{:server_id|/exte/{:device_id}/agent/{:agent_id}/live_monitoring
或
/agent/{:agent_id}/live_monitoring
但这将是两个不同的资源
答案 1 :(得分:0)
您最好使用查询参数(这是RESTful方法),但在端点端处理它们以在未提供时返回错误。
例如,在php中,你会这样做:
if (!isset($_GET['device_id']))
echo json_encode(array("error"=>"You need to provide device_id"));
if (!isset($_GET['agent_id']))
echo json_encode(array("error"=>"You need to provide agent_id"));