gpt4 book ai didi

android - 我如何使用 Retrofit 向 traccar API 发出请求?

转载 作者:搜寻专家 更新时间:2023-11-01 09:29:07 25 4
gpt4 key购买 nike

我试过提出请求,但我做不到。

这是我正在使用的 Retrofit 界面。通过 session 调用,我正在执行基本 HTTP 身份验证。

public interface APIService {

@POST("/users")
@FormUrlEncoded
Call<Users> saveUserPost(@Header("Authorization") String credentials,
@Field("admin") Boolean admin,
@Field("email") String email,
@Field("name") String name,
@Field("password") String password);

@POST("/session")
Call<List<Session>> openSession(@Body Session session);

这是我 Activity 的 onCreate 方法,在其中,我尝试登录并验证用户是否已注册。

Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("http://http://192.168.1.72:8082/api/")
.addConverterFactory(GsonConverterFactory.create());

Retrofit retrofit = builder.build();

APIService apiService = retrofit.create(APIService.class);
Session session = new Session();
session.setPassword("admin");
session.setEmail("admin");

Call<List<Session>> call = apiService.openSession(session);

call.enqueue(new Callback<List<Session>>() {
@Override
public void onResponse(Call<List<Session>> call, Response<List<Session>> response) {
switch (response.code()) {
case 200:
Toast.makeText(getApplicationContext(), "error = 200", Toast.LENGTH_LONG).show();
break;
case 400:
Toast.makeText(getApplicationContext(), "error = 400", Toast.LENGTH_LONG).show();
break;
case 401:
Toast.makeText(getApplicationContext(), "error = 401", Toast.LENGTH_LONG).show();
break;
case 404:
Toast.makeText(getApplicationContext(), "error = 404", Toast.LENGTH_LONG).show();
break;
case 405:
Toast.makeText(getApplicationContext(), "error = 405", Toast.LENGTH_LONG).show();
break;
default:
Toast.makeText(getApplicationContext(), ""+response.isSuccessful(), Toast.LENGTH_LONG).show();
break;
}
}

@Override
public void onFailure(Call<List<Session>> call, Throwable t) {

}
});

最佳答案

您可以查看 native 版本的 Traccar Manager 作为示例:

https://github.com/tananaev/traccar-manager-android/tree/native

它使用 Retrofit。这是界面:

public interface WebService {

@FormUrlEncoded
@POST("/api/session")
Call<User> addSession(@Field("email") String email, @Field("password") String password);

@GET("/api/devices")
Call<List<Device>> getDevices();

@GET("/api/commandtypes")
Call<List<CommandType>> getCommandTypes(@Query("deviceId") long deviceId);

@POST("/api/commands")
Call<Command> sendCommand(@Body Command command);

}

关于android - 我如何使用 Retrofit 向 traccar API 发出请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48667886/

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