前端开发人员是否应该承担多态关系的责任?

时间:2016-06-13 10:54:00

标签: rest laravel polymorphic-associations

所以我正在使用laravel 5开发一个应用程序,我有一些与其他许多模式有多态性的模型。例如,我的评论与文档和帖子等许多其他模型有关。所以我在这些模型之间有多态关系。

我的评论表迁移如下:

        Schema::create('comment', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('commentable_id')->unsigned()->comment('Polymorphic');
            $table->string('commentable_type')->comment('Polymorphic');
            $table->integer('comment_type_id')->unsigned()->comment('Type of comment');
            $table->integer('user_id')->unsigned()->comment('Id of user');
            $table->text('body')->comment('Comment as text');
            $table->timestamps();

            $table->foreign('comment_type_id')->references('id')->on('comment_type')->onDelete('cascade');
            $table->foreign('user_id')->references('id')->on('user')->onDelete('cascade');
        });

现在,我可以选择通过向/comments发送POST请求并将commentable_type与请求一起传递来创建注释,因此它将决定哪个模型与注释相关。因此,如果我在那里传递post,它将与帖子相关。

但我的雇主强调,这对前端开发人员来说是不必要的负担,他们不需要知道后端的多态关系。他建议和替代也是有道理的。

因此,当帖子有新评论时,我会在/posts/{id}/comments上进行POST或PUT,它会为新帖子创建新评论或类似地为文档创建评论。

我担心的是,由于我们在系统中存在大量的多态关系,从长远来看这将在更大规模上发挥作用还是难以维持。这里的标准是什么,还是纯粹基于我自己的需求和观点?

0 个答案:

没有答案