如何为分数设计工作API?

时间:2016-06-03 05:40:19

标签: php api laravel

我有一个名为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>

我有点困惑,选择哪个选项。

1 个答案:

答案 0 :(得分:0)

第二种选择是最好的。请记住,如果您使用的是POST方法,请不要在URL中插入参数,因为除非您使用GET / PUT / PATCH / DELETE,否则它是一个不好的做法。

如果您正在编写API,我也建议Slim Framework