Retrofit always calling onFailure even response is 200
There is a problem with your server response. Retrofit reads HTTP Status, So you have to make sure you sent it from the server. Retrofit is trying to read a response code 200 which is not available probably so it is calling on failure method.
Using t.message() inside onFailure() reveals the mismatch in datatypes for json to model class, which causes this problem. just debug it via t.message() and change the datatype as suggested in the message, it will solve the problem.