Em chào mọi người ạ, em mới tìm hiểu về API ạ. Em tạo một API để lấy data trên sql server, khi test thử API trên trình duyệt thì nó có trả về data nhưng khi em request từ app của em thì nó không trả về data ạ. Mọi người cho em biết em có thể sai ở đâu không ạ?
Request từ client lên API
Bạn nói về app android/ios hay trên windows?
Nguyên nhân của cái này khả năng cao là do code của app, có thể dữ liệu gửi lên server có vấn đề hoặc có vấn đề trong việc nhận response từ server. Giờ muốn biết thì chỉ có cách đưa code ra đây xem thôi
Dạ app android/ios ạ
Anh xem giúp em với ạ
Bạn troubleshoot thế này nha:
- Kiểm tra xem INTERNET permission đã khai báo chưa.
- Nếu bạn dùng API là HTTP (không phải HTTPS) bạn cần khai báo đường dẫn bằng file config nếu chạy trên Android M trở lên (API 23+): https://developer.android.com/training/articles/security-config
- Nếu bạn dùng API là HTTPS (không phải HTTP) bạn cần mở TLS hợp lệ khi chạy Android L trở xuống (API 21-).
- Log body ra để debug.
Ủa, phần tên miền trong URL đâu rồi ? Đây có phải là code Javascript chạy trên website nào đó đâu nhỉ
? Ngoài ra, chẳng có cái loại app nào là app Android/iOS cả, đây vốn là hai HĐH khác nhau. Nhìn vào code của bạn thì có vẻ như đây là code C#, tìm hiểu một chút thì bạn đang dùng thư viện RestSharp bên C#.
Em dùng xamarin. Lúc đầu e cũng request cả localhost/api… nhưng kết quả vẫn vậy
Hmm… Trong code của bạn mình có thấy “localhost” đâu nhỉ ? Thử gửi GET request lên
google.com
xem sao.
À mà giờ mới để ý, ở đoạn:
this.client.Execute(request);
Sửa lại thành:
client.Execute(request);
Không phải vô tình mà mà biến client
bị mờ đâu. Trong VS và VSCode, biến nào mà bị mờ nghĩa là biến đó chưa được sử dụng. Ngoài ra thì biến device
dùng để làm gì vậy? Sao không return biến response
nhỉ ?
xamarin thì Hà Mã Tím chịu, cái này không biết. Goodluck!
Đoạn mã bạn viết thử hay thật vậy?
Đoạn trên không thấy chỗ nào bạn nhận dữ liệu trả về cả, chỉ gọi xong rồi thôi, chẳng xem gì hết.
Bạn có thử in ra response.Content
chưa?
Mà đáng lẽ phải gọi client.Execute(request)
(không có this
) chứ.