Restful API endpoint dạng example.com/v3/?call=app.gido.chucnanggido&foo=bar

Mình đang thử vọc một trang web thì thấy họ có endpoint khá lạ, dạng example.com/v3/?call=app.gido.chucnanggido&foo=bar. Mình không biết dạng này gọi là gì?

P/s: À mình quên chưa giải thích rõ, vấn đề là mình thấy lạ ở tham số call, nó có mấy giá trị khá lạ như:

  • app.mobile.hocsinh.add
  • app.mobile.groupchat.addMemBerToGroup
  • app.mobile.user.changePass
  • app.mobile.hocsinh.getCheckinLog

Người ta làm thế để làm gì? Tại sao không làm kiểu như /mobile/hocsinh/...? Nó có liên quan gì đến cái framework gì đó không?

1 Like

Theo mình thấy thì đây vẫn là api bình thường thôi
example.com/v3/ là rount (endpoint)
?call=app.gido.chucnanggido&foo=bar là query parameters (kiểu

?query1=value1&query2=value2

2 Likes

theo mình nghĩ thì v3 là version
?call= là query
app.gido.chucnanggido là value
thấy hơi lạ chỗ mấy dấu chấm

app.gido.chucnanggido là string và trong string đó có dấu chấm thôi, mình cứ coi nó như 1 cái url, thì trong url có dấu chấm vậy

2 Likes

Do người lập trình quy định thôi.
Giờ mình muốn dùng kí tự khác cũng được vậy. Chỉ cần có kí tự phân cách các chức năng liên hệ (cha - con) tách biệt là được thôi.
Như kiểu:
C#: object.subObject.Method().
C++ .NET: object::subObject::Method().
C++: object->subObject->Method().

4 Likes

Họ chỉ muốn 1 API được expose ra ngoài thôi.
Mà kiểu này chắc lại liên qua đến SOAP, hoặc mang tư tưởng từ SOAP qua, đoán vậy.

5 Likes

Cái này là API riêng tư của VNPT, mình thấy khá lạ khi họ làm vậy.

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