Home > Net >  GET api in flutter failing with I/flutter ( 4017): {code: 404, message: HTTP 404 Not Found}
GET api in flutter failing with I/flutter ( 4017): {code: 404, message: HTTP 404 Not Found}

Time:01-04

My requirement is need to make get rest api call in flutter.my code is as below 
final url = "https://app2.sas.com/uh/device/1890/publicKey";
https://app2.sas.com/ is my base url followed by api end point
should i need to add any certificate for https://app2.sas.com/ to work?

void getPublickey() async {
      print('getPublickey');
      try {
        final response = await http.get(Uri.parse(url));
        final jsonData = jsonDecode(response.body);
        if (response.statusCode == 200) {
          print(jsonData.toString());
        } else {}
      } catch (err) {
        print(err.toString());
      }
    }

when i hit above api i m getting below response, please let me know any mistake i m doing above? I/flutter ( 4017): {code: 404, message: HTTP 404 Not Found} Any help is appreciated

CodePudding user response:

try

 Future <void> 

instead of void and remove http

Future getPublickey() async {
      print('getPublickey');
      try {
        final response = await get(Uri.parse(url));
        final jsonData = jsonDecode(response.body);
        if (response.statusCode == 200) {
          print(jsonData.toString());
        } else {}
      } catch (err) {
        print(err.toString());
      }
    }

CodePudding user response:

I don't think the problem is from Flutter. Trying out your URL https://app2.sas.com/uh/device/1890/publicKey returns a 404 too.

You should double-check the URL and make sure the endpoint is correct.

You should probably be returning the string public key:

Future getPublickey() async {
      print('getPublickey');
      try {
        final response = await http.get(Uri.parse(url));
        final jsonData = jsonDecode(response.body);
        if (response.statusCode == 200) {
          print(jsonData.toString());
          return jsonData;

        } else {
          print(response.statusCode);
           return null;
          }
      } catch (err) {
        print(err.toString());
         return null;

      }
    } 
  • Related