ich meine api in Postbote getestet und es gibt jsonMit Retrofit + OkHttp + Gson die api kehrt html obwohl Postbote Rückkehr json
nur eine einfache bekommen api
baseurl/ecom-Dienstleistungen/api/mobile/Aufgaben/user/tokenhere_/bevorstehenden
aber auf Android
@GET("mobile/tasks/user/{id}/upcoming")
fun jobList(@Path("id") id: String): retrofit2.Call<Job>
dies gibt eine hTML-
onerror dies zurück:
java.lang.IllegalStateException: Erwartete BEGIN_OBJECT aber war STRING in Zeile 1, Spalte 1 Pfad $
dies ist der Aufruf
fun fetchData() {
apiService.jobList(getUserId()).enqueue(object : retrofit2.Callback<Job>{
override fun onFailure(call: Call<Job>?, t: Throwable?) {
Timber.v(t!!.message.toString())
}
override fun onResponse(call: Call<Job>?, response: Response<Job>?) {
Timber.v(response!!.body().toString())
}
})
Job = data
json:
{
"type": "success",
"text": "200",
"data": [
{
"requestId": "5a31fc2b9af83128136f8fb3",
"taskDetailRequestId": null,
"clientEmail": null,
"imageBase64": null,
"imageLogoWidth": 0,
"imageLogoHeight": 0,
"additionalEmails": [],
"clientId": "5891d6b01d58301538b578ea",
"clientServiceAddress": {
"id": "5891d6b01d58301538b578eb",
"_refs": null,
"name": "tony chew",
"address1": null,
"address2": null,
"pinCode": "123123",
"createdUserId": null,
"lastUpdatedUserId": null,
"latitude": 0,
"longitude": 0,
"organizationId": null,
"addressType": null
},
"startDate": 1513311600000,
"endDate": 1513312500000,
"userRegId": "5891d7521d58301538b578fd",
"requestDate": 1513225200000,
"serviceName": "Service 1 SImple",
"serviceRequest": null,
"userTaskDetailsId": "5a31fc319af83128136f8fb9",
"fromSubclient": false,
"requestStatus": "ASSIGNED",
"serviceRequestType": "SERVICE",
"contractPayments": null
}
]
}
Job.kt
data class Job(
@Expose @SerializedName("type") val type: String, //success
@Expose @SerializedName("text") val text: String, //200
@Expose @SerializedName("data") val data: List<Data>
)
hinzufügen die erwartete JSON und die Definition von 'Job' – Pelocho
@Pelocho Job enthält Art, Text und Datenfelder –
Sie Zeichenfolge bekommen, aber Sie müssen' JSONObject' –