如何通过改造 Android 提出请求
Posted
技术标签:
【中文标题】如何通过改造 Android 提出请求【英文标题】:How to make a request get by retrofit Android 【发布时间】:2020-01-13 19:16:44 【问题描述】:这是我的 Api 响应,我不知道是json object
还是json array
。
我需要创建一个带有改造的GET
请求,但我不知道
"Customers": [
"Empresa": "CORSENESA",
"Cliente": "1000 ",
"Nombre": "ANDREA ARRIOLA LOPEZ ",
"Direccion": "7 AV. 9-64 ZONA 9\r\n\r\n",
"telefonos": "4710-7975 ",
"DiasCredito": 0,
"inactivo": false,
"DiasVisita": "L,M,MI,J,V,S,D"
,
"Empresa": "CORSENESA",
"Cliente": "1005 ",
"Nombre": "TANIA LOPEZ HERNANDEZ STA. PAULA",
"Direccion": "PASEO SAN CRISTOBAL ZONA 8 DE MIXCO",
"telefonos": "53071090 ",
"DiasCredito": 0,
"inactivo": false,
"DiasVisita": "L,M,MI,J,V,S,D"
]
【问题讨论】:
你能再具体一点吗? 它是一个 Json 对象,里面有 Json 数组。 【参考方案1】:作为对开发人员的认真建议开发人员,您需要学习基础知识。只是为了帮助你,上面是JSON数组,我会告诉你步骤
(假设你使用的是android studio)
implementation 'com.squareup.retrofit2:retrofit:2.6.0' & also
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
在您的应用中:gradle 文件
-
创建一个接口并编写您的 GET 方法,如下所示:
interface yourinterfacename
@GET("your url path after base url")
Call<YourResponseModelCalss> getData();
/* baseurl: Say Eg: yourdomain.com/user/data then yourdomain.com/ is ur base url
& user/data will be your path */
class YourResponseModelCalss
private List<RespData> Customers; /* make sure 'Customers' is same as mentioned in response else you will not get any data.*/
public static class RespData
private String Empresa;
... /* add all your paramters as in the response, make sure parameters name should match exact as mentioned in api response */
// implement getters and setters
现在,一旦你这样做了,你需要构建 retrofitObject
,,,
retroObject = new retrofit2.Retrofit.Builder() .baseUrl(BASE_URL) .client(httpClient.build()) .addConverterFactory( GsonConverterFactory.create(new Gson())) .build();
/* 确保在不同的类中使用它并在类中实现静态方法,以便您可以获得返回类型为 Retrofit 的复古对象的实例
类似 -> public static Retrofit getRetrofitInstance()
*/ ,,,
现在让我们进行 API 调用
YourInterfaceName service = RetroClassIntancename.YourRetroObjectMethodName().create(YourInterfaceName.class)
Call<yourinterfacename> call = service.getData() // remember the method name you created in your interface
call.enqueue(new Callback<YourResponseClassName>()
@Override
public void onResponse(Response<YourResponseClassName> response, Retrofit retrofit)
// your code if it is successfull
@Override
public void onFailure(Throwable t)
// if it fails
);
以上是粗略的实现。有很多很好的教程可供参考。
希望这会有所帮助。快乐编码:)
【讨论】:
以上是关于如何通过改造 Android 提出请求的主要内容,如果未能解决你的问题,请参考以下文章
如何使用android studio中的改造服务在请求中传递json