我需要为微软Azure应用服务定制的API的工作示例。 我无法得到任何有用的或工作信息/例子为,或者他们只给出了过时的每一次不同的做法?!?! 现在我有一个工作表控制器,它从数据库中获取信息,并使其返回到我的Android客户端。 现在,我需要定义一个定制的API控制器得到一个字符串返回。 在这些例子中,他们都在发送对象的服务,才能得到一个对象返回。 我不想送什么东西给了API,只是检索一些信息从一个GET请求回来。
问候
我需要为微软Azure应用服务定制的API的工作示例。 我无法得到任何有用的或工作信息/例子为,或者他们只给出了过时的每一次不同的做法?!?! 现在我有一个工作表控制器,它从数据库中获取信息,并使其返回到我的Android客户端。 现在,我需要定义一个定制的API控制器得到一个字符串返回。 在这些例子中,他们都在发送对象的服务,才能得到一个对象返回。 我不想送什么东西给了API,只是检索一些信息从一个GET请求回来。
问候
//编辑 - 添加/编辑的客户机/服务器代码发布字符串。
您可以使用下面的代码做就自动生成的API控制器Visual Studio中的GET请求创建(ValuesController)。
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);
根据我的理解,我觉得有两个部分,你的问题,其中包括如下。 我认为你可以分别指两个部分,以获得答案,写自己的例子。
如何定义在Azure上移动应用定制的API从数据库中检索数据? 请参阅节Custom APIs
知道如何与Azure的移动应用后端做。
如何调用从Android应用程序定制API? 请参阅部分How to: Call a custom API
知道如何与Android SDK做。