我有一个名为score的表,该表有两个字段:team_id和score_value。为这种情况编写端点的最佳方法是什么:
第一选择: POST:得分/球队/ {team_id}
public function($team_id,$score){
$scores = new Scores();
$scores->team_id = $team_id;
$scores->score_value = $score;
$scores->save();
}
第二种选择: POST:得分/队伍 我也可以这样做,所以我不需要将team_id作为参数传递,因为我可以在插入函数中获取该字段,如下所示为登录用户:
public function($score){
$scores = new Scores();
$scores->team_id = Auth->user->team_id; (logged in user team id)
$scores->score_value = $score;
$scores->save();
}
第一种选择比第二种选择更好吗?如果我有一个管理员代表其他用户添加记录,所以在这种情况下我们只需将team_id作为参数传递给url。
或者如果我有两个端点会更好,所以我可以根据管理员是添加还是正常用户来使用它们...出于某种原因我不喜欢这样,因为它似乎是DRY。< / p>
我有点困惑,选择哪个选项。
答案 0 :(得分:0)
第二种选择是最好的。请记住,如果您使用的是POST方法,请不要在URL中插入参数,因为除非您使用GET / PUT / PATCH / DELETE,否则它是一个不好的做法。
如果您正在编写API,我也建议Slim Framework。