Thiết kế CRUD và Rest API sao cho hợp lí?

Chào các bằng hữu.

Mình muốn hỏi là các bạn khi design Rest API và CRUD app thì phần xử lí backend sẽ nhét toàn bộ vào một hàm chung hay xử lí riêng?
Trường hợp của mình là với RestAPI thì sẽ dùng khi xử lí qua Ajax(Bật javascript), CRUD sẽ xử lí qua form(khi không có javascript)

Cụ thể mình định làm theo hướng kiểu xử lí chung như thế này, nhưng phần render sẽ tách riêng.

- Hàm commons:
Array Commons::createPost(Request requestData)
{
  Array postInfo;
  // Code create post, query SQL,... sau đó trả về thông tin vào postInfo
  return postInfo;
}
- Tại CRUD
void createPostCrud(Request request)
{
  Array postInfo = Commons::createPost(request);

  this->render(....);
}
- Tại Rest API
json createPostRestApi(Request request)
{
  Array postInfo = Commons::createPost(request);

  return postInfo.toJson();
}

Phía người dùng

Khi không có JS
POST /posts/new

Khi có JS
POST /api/posts/new

// Mình đang phân vân không biết có nên gộp url vào 1 cái không, nhưng thấy phần xử lí lại phải chia if/else khá xấu.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?