Request từ client lên API

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 ạ?

Bạn nói về app android/ios hay trên windows?

2 Likes

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 :penguin:

2 Likes

Dạ app android/ios ạ

received_605495200109072

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.
6 Likes

Ủa, phần tên miền trong URL đâu rồi :thinking: ? Đây có phải là code Javascript chạy trên website nào đó đâu nhỉ :thinking:? 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#.

4 Likes

Em dùng xamarin. Lúc đầu e cũng request cả localhost/api… nhưng kết quả vẫn vậy

bạn chụp thử response của thằng postman lên xem thử nào @Tuan.nguyen12

3 Likes

Hmm… Trong code của bạn mình có thấy “localhost” đâu nhỉ :thinking:? 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ỉ :thinking:?

3 Likes

:expressionless: :expressionless: :expressionless: xamarin thì Hà Mã Tím chịu, cái này không biết. Goodluck!

3 Likes

Đ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ứ.

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