gpt4 book ai didi

java - 简约的 Java Web 界面,如 Python WSGI

转载 作者:行者123 更新时间:2023-12-01 05:51:56 24 4
gpt4 key购买 nike

Python 有一个简约而优雅的 Web 界面,名为 WSGI 。最简单的应用程序如下所示:

def simple_app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']

environ 类似于请求对象,而 start_response 是设置响应 header 的函数。响应主体是一个可迭代对象,这里是一个带有单个字符串的列表('Hello world!\n')。这个简单的接口(interface)将 Java 中的操作与 Servlet 和 Filter 统一起来。

我想知道是否可以用 Java 编写类似的东西。我预计,在 Java 中返回迭代器会比使用流慢。所以我认为传递一个 OutputStream(包装在响应对象中),就像 Servlet API 那样,是最好的解决方案。它看起来像这样:

public interface Handler {
void handle(Request req, Response res);
}

但是,我希望返回响应:

public interface Handler {
Response handle(Request req);
}

但是传入 OutputStream 的唯一方法是请求 (Request#createResponse())。

ASP.NET actions return "Result"对象,但我对此了解不多,也不知道框架如何执行流式处理。你会如何在 Java 中做类似的事情?

我期待您关于简单而优雅的 Java Web API 的想法。

最佳答案

利用java的原生IO和Network API,我们可以创建java.net包的ServerSocket。

关于java - 简约的 Java Web 界面,如 Python WSGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407698/

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