gpt4 book ai didi

android - Azure APP 服务中的自定义 API 示例搜索 Android 客户端

转载 作者:行者123 更新时间:2023-11-30 01:06:12 24 4
gpt4 key购买 nike

我需要一个适用于 Microsoft Azure 应用服务的自定义 API 的工作示例。我无法获得任何有用或工作的信息/示例,或者他们只是每次都显示不同的方法,这些方法已经过时了?!?!现在我有一个工作表 Controller ,它从数据库获取信息并将其返回到我的 Android 客户端。现在我需要定义一个自定义 API Controller 来获取字符串。在示例中,它们都将对象发送到服务以便取回对象。我不想向 API 发送任何内容,只想从 GET 请求中检索一些信息。

问候

最佳答案

//编辑 - 添加/编辑客户端/服务器代码以发布字符串。

您可以使用以下代码在 Visual Studio 创建的自动生成的 API Controller (ValuesController) 上执行 GET 请求。

private void getStringFromAzure() throws MalformedURLException {

// Create the MobileService Client object and set your backend URL
String yourURL = "https://yourApp.azurewebsites.net/";
MobileServiceClient mClient = new MobileServiceClient(yourURL, this);

// Your query pointing to yourURL/api/values
ListenableFuture<JsonElement> query = mClient.invokeApi("values", null, GetMethod, null);

// Callback method
Futures.addCallback(query, new FutureCallback<JsonElement>() {
@Override
public void onSuccess(JsonElement jsonElement) {

// You are expecting a String you can just output the result.
final String result = jsonElement.toString();

// Since you are on a async task, you need to show the result on the UI thread
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(mContext, result, Toast.LENGTH_LONG).show();
}
});
}

@Override
public void onFailure(Throwable throwable) {
Log.d(TAG, "onFailure: " + throwable.getMessage());
}
});
}

public void sendString(final String someString) throws MalformedURLException {

// Your query pointing to /api/values/{String}
ListenableFuture<JsonElement> query = mClient.invokeApi("values/" + someString, null, PostMethod, null);

// Callback method
Futures.addCallback(query, new FutureCallback<JsonElement>() {
@Override
public void onSuccess(JsonElement jsonElement) {

// You are expecting a String you can just output the result.
final String result = jsonElement.toString();
}

@Override
public void onFailure(Throwable throwable) { }
});
}

后端API:(ValuesController)

{
// Use the MobileAppController attribute for each ApiController you want to use
// from your mobile clients
[MobileAppController]
public class ValuesController : ApiController
{
// GET api/values
public string Get()
{
return "Hello World!";
}

// POST api/values/inputString
public string Post(string inputString)
{
return inputString;
}
}
}

您还可以通过以下方式发送参数:

List<Pair<String, String>> parameters = new ArrayList<>();

parameters.add(new Pair<>("name", "John"));
parameters.add(new Pair<>("password", "fourwordsalluppercase"));

ListenableFuture<JsonElement> query = client.invokeApi("yourAPI", PostMethod, parameters);

或者作为正文中的 json:

JsonObject body = new JsonObject();

body.addProperty("currentPassword", currentPassword);
body.addProperty("password", password);
body.addProperty("confirmPassword", confirmPassword);

ListenableFuture<JsonElement> query = mClient.invokeApi("yourAPI", body, PostMethod, null);

关于android - Azure APP 服务中的自定义 API 示例搜索 Android 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38856414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com