Jetty 12 程序员文档有这个:
class RESTHandler extends Handler.Abstract
{
@Override
public boolean handle(Request request, Response response, Callback callback)
{
// Implement the REST APIs, remembering to complete the callback.
return true;
}
}
我想知道如何在上面的块中创建 REST API。
我知道使用 Jersey 和 Servlet Container 是可以创建的。但不确定如何单独使用 Jetty 处理程序创建 REST API。
可能的一种选择是使用 request.getComponents() 解析请求并标记请求参数。
我试图使用:
request.getComponents()
它会像这样返回:
HttpChannelState@d735a98{handling=Thread[server-20,5,main], handled=false, send=SENDING, completed=false, request=GET@0 http://localhost:8080/shop/?id=122&city=new%20york&country=usa HTTP/1.1}
需要帮助请。
提前致谢。
可能的一种选择是使用 request.getComponents() 解析请求并标记请求参数。
request.getComponents()
用于在同一连接上的所有处理程序和请求之间共享的Components。很少需要访问或使用此对象,它的存在是为了集成到云提供商中。
原始查询可在请求的
HttpURI
中找到。
String rawQuery = request.getHttpURI().getQuery();
但是你必须自己解析和 url 解码该字符串。
提供了一种方便的方法来为您做到这一点。
Fields query = Request.extractQueryParameters(request,
StandardCharsets.UTF_8);
String member = query.getValue("Member");
此片段来自
form-post
示例,位于
请参阅文档,了解有关如何从请求中读取数据并写入响应的其他示例。