【问题标题】:Laravel REST API when to create separate controllers for list of values?Laravel REST API 何时为值列表创建单独的控制器?
【发布时间】:2020-11-29 15:06:32
【问题描述】:

假设我有一个用于注册用户的简单 API。对于每个用户,我都会收集基本信息,例如:姓名、电子邮件、状态、性别、婚姻状况。对于州、性别和婚姻状况,我有一个预先填充了 id 的数据库表,因此我可以在下拉列表中显示它们并让用户选择每一个。

现在,当涉及到用于注册用户的 API 控制器时,我是否应该在单个 JSON 对象中传递值列表?

return response()->json([
    'genderList' => Gender::get('id', 'name'),
    'stateList'  => State::get('id', 'abbr'),
    'maritalList => MaritalStatus::get('id', 'name')
]);

或者我应该为每个返回一个对象的每个单独的控制器和 API 调用?

有没有合适的方法可以做到这一点,还是个人喜好?

如果这很重要,我将使用 Vue 作为我的前端。

【问题讨论】:

    标签: javascript laravel api rest vue.js


    【解决方案1】:

    这确实是个人喜好,因为没有proper way 这样做。 请记住将要传递的网络调用的数量以及对您的数据库的点击次数。

    就个人而言,我更喜欢使用pluck() 方法输出数组:

    return response()->json([
        'genderList' => Gender::pluck('name', 'id'),
        'stateList'  => State::pluck('abbr', 'id'),
        'maritalList => MaritalStatus::pluck('name', 'id')
    ]);
    

    缓存这些结果也很好,因为它们可能不会经常更改

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多