Muốn Gửi nhiều dữ liệu lên server với GET API thì làm thế nào?
Mọi người cho e hỏi:
E đang xây dựng GET API tìm thông tin sản phẩm. Trong data request có nhiều trường dữ liệu (khoảng 7-8 trường).
Nếu em đưa trực tiếp trường này vào đường link url thì nó quá dài.
Liệu có thể truyền lên theo kiểu Json như data request của phương thức POST được không ạ?
Hoặc có cách nào khác giải quyết không ạ?
Mong mọi người giúp đỡ.
3 CÂU TRẢ LỜI
Bạn có thể sửa lại GET API thành POST API cho nó gọn gàng và đẩy được nhiều dữ liệu lên nhé, cách xây dựng cũng giống GET API thôi
Cái này có nhiều cách giải quyết, nhưng ngắn gọn nhất là sử dụng POST thôi bạn ạ.
Ví dụ trong C#, có thể sử dụng TempData, nhưng cách này tiềm ẩn nhiều bug phát sinh.
Đúng là GET thì trong RFC không quy định việc ko có body nhưng tùy các server mà khi xử lý request bọn nó có đọc body hay không. Bên Java có Tomcat nó ignore body của GET luôn, còn về client thì có một vài client như OkHTTP ko cung cấp việc set body cho GET method luôn, và tốt nhất thì ko nên có body bạn ạ,
@trinh.nx cái webserver lởm thế thì đổi sang web server khác mà dùng bạn à. Với cái lib nó không cho phép thì override nó, không thì đổi lib khác, đường cùng thì fork về tự làm 1 cái.
@Plumpboy Đây là thông thường GET sẽ không chứa body, bác có thể hỏi thêm các ông dev BE về vấn đề này để lấy thêm thông tin vậy. Còn nếu bác vẫn muốn làm thì cứ tìm resource mà implement thôi
@trinh.nx mình là dev be, get request nào cũng có body
mình dev BE, dẫu là biết có thể chứa body nhưng mà mình chả bao h truyền kiểu đấy =)))