如何实现动态 API 处理?
How do I implement dynamic API handling?
所以我正在做一个项目,其中有很多 API 将被使用,比如 5 个不同的,都来自不同的主机名。为此,我使用 Volley 来处理请求。现在我的问题是如何获得不同 API 产生的值,具有不同的 JSON 输出。
示例场景:
我需要从所有 API 中获取用户的名称,但它们在 API 响应中具有所有不同的标签。即
API 1(JSON 数据):
{
data: {
name: 'Sumname',
}
}
API 2(JSON 数据):
{
data: {
user_name: 'Sumname'
}
}
现在我需要在两个 API 上获取 'Sumname'(或用户名)。
我需要像这样发出多个 Volley 请求吗?
private void sumclass(){
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
String url = "URL";
StringRequest sendQueue = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("value", "value");
return params;
}
};
queue.add(sendQueue);
}
每个 API 将被使用?或者有一个简单的方法吗?我通常只使用 1 API,所以我对这个问题不太了解。我做了一些研究,但我对结果不满意。
要解决您的问题或根据我的经验解决您的用例条件,您可以使用 Retrofit 库。
- 改装将为您提供动态 API 呼叫功能。
例如。假设你有两个 API 的 Api1 和 Api2
retrofit取基地址,剩下的地址就是你API的API路径。
假设您的 API 类似于 1.www.xyz.com/api1 和 2.www.xyz.com/api2
那么你的基地址就是www.xyz.com/,剩下的部分就是/api1
通过这种方式,您可以解决您的用例。
每个 API
的 function/method 会有所不同
所以我正在做一个项目,其中有很多 API 将被使用,比如 5 个不同的,都来自不同的主机名。为此,我使用 Volley 来处理请求。现在我的问题是如何获得不同 API 产生的值,具有不同的 JSON 输出。
示例场景: 我需要从所有 API 中获取用户的名称,但它们在 API 响应中具有所有不同的标签。即
API 1(JSON 数据):
{
data: {
name: 'Sumname',
}
}
API 2(JSON 数据):
{
data: {
user_name: 'Sumname'
}
}
现在我需要在两个 API 上获取 'Sumname'(或用户名)。
我需要像这样发出多个 Volley 请求吗?
private void sumclass(){
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
String url = "URL";
StringRequest sendQueue = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("value", "value");
return params;
}
};
queue.add(sendQueue);
}
每个 API 将被使用?或者有一个简单的方法吗?我通常只使用 1 API,所以我对这个问题不太了解。我做了一些研究,但我对结果不满意。
要解决您的问题或根据我的经验解决您的用例条件,您可以使用 Retrofit 库。
- 改装将为您提供动态 API 呼叫功能。
例如。假设你有两个 API 的 Api1 和 Api2
retrofit取基地址,剩下的地址就是你API的API路径。
假设您的 API 类似于 1.www.xyz.com/api1 和 2.www.xyz.com/api2
那么你的基地址就是www.xyz.com/,剩下的部分就是/api1
通过这种方式,您可以解决您的用例。
每个 API
的 function/method 会有所不同