gpt4 book ai didi

java - 适用于 Android 的 Spring : REST server

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

我希望创建一个客户端-服务器 Android 应用程序 - REST 服务器和客户端都在同一设备上运行。我遇到了很多关于 REST 服务器的问题,但没有答案,所以没有提供太多帮助。

我偶然发现Spring for Android ,并且可以找到许多使用 Spring for Android 作为 REST 客户端的 YouTube 视频和教程,但在服务器上几乎没有。

请有人告诉我它是否可以在 Android 上作为 REST 服务器运行?如果没有 - 之前已经问过 - 是否有适合 OOB 的库/框架?

最佳答案

您可以使用skornei Restserver,这是适用于Android应用程序的REST服务器:

这是一个入门 https://github.com/skornei/restserver/wiki/Getting-started

这是一个示例代码,用于将 Spring Boot Rest Controller 等 Rest 服务器构建到 Web 应用程序中,但在本例中是 Android 应用程序。 skornei Restserver 是一个很棒的库,对我有很多帮助,请参阅 Rest Controller 的示例代码


@RestController("/ping")
public class PingController {

@GET
@RequiresAuthentication
public void ping() {
System.out.println("work!");
}

@POST
@Produces(ContentType.APPLICATION_JSON)
@Accept(ContentType.APPLICATION_JSON)
public TestEntity test(Context context, RequestInfo request, ResponseInfo response, TestEntity testEntity) {
return new TestEntity(testEntity.getTest() + ":test");
}

private static String getStackTrace(Throwable throwable) {
StringWriter stringWriter = new StringWriter();
throwable.printStackTrace(new PrintWriter(stringWriter));
return stringWriter.toString();
}

@ExceptionHandler
@Produces(ContentType.TEXT_PLAIN)
public void handleThrowable(Throwable throwable, ResponseInfo response) {
String throwableStr = getStackTrace(throwable);
response.setBody(throwableStr.getBytes());
}
}

*** 非常重要的一步:您是否还需要自定义应用程序的 Android 配置并将其添加到您的 Android list 中,如下所示:


public class YouApplication extends Application {

@Override
public void onCreate() {
super.onCreate();

RestServerManager.initialize(this);
}
}


并在 AndroidManifest 上注册应用程序:

<application
.
.
.
android:name="com.you.yourapp.ApplicationEx"
.
.
.
/>

关于java - 适用于 Android 的 Spring : REST server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57636453/

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