From 7121c2c93969b513a511f3c4878fad8a317e56fe Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sun, 11 Feb 2018 15:56:30 +0800 Subject: [PATCH] --- net.html | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/net.html b/net.html index b5b4dace1..f2819ba99 100644 --- a/net.html +++ b/net.html @@ -37,7 +37,7 @@                 7、内置WebSocket的集群与组功能,且提供伪WebSocket连接功能。
                8、HttpResponse只能异步输出。

-

        编写Redkale的HttpServlet与 JSR 340中的javax.servlet.http.HttpServlet 基本相同,只需继承 org.redkale.net.http.HttpServlet, 比较好的习惯是一个项目先定义一个项目级的BaseServlet类,这样方便以后加入类似javax.servlet.Filter的功能。

+

        编写Redkale的HttpServlet与 JSR 340中的javax.servlet.http.HttpServlet 基本相同,只需继承 org.redkale.net.http.HttpServlet, 比较好的习惯是一个项目先定义一个项目级的BaseServlet类。

        一个典型的BaseSerlvet实现:

@HttpUserType(UserInfo.class)
@@ -169,7 +169,7 @@
 
             

   API Doc

        在小型互联网公司里,基本是追求敏捷开发,很少先花时间设计接口文档再进行开发,通常都是直接进行数据库设计和开发,开发完后需要开发人员需要编写接口文档提供给前端人员开发。为了减少文档的编写工作量和强制开发人员对接口进行注释,Redkale提供了apidoc命令,apidoc遍历当前进程中所有标记@WebServlet的可用HttpServlet,根据Servlet中@HttpMapping、@HttpParam生成json对象并输出文件。在系统运行时执行apidoc命令会在进程根目录下生成apidoc.json、apidoc.html文件。apidoc.html的模板可以定制, 只需在conf/目录下存放一个 apidoc-template.html 文件,且文件中必须包含关键字 ${content} 即可实现接口文档的自定义。
-         为了能正确显示接口文档,开发人员需要在编写HttpServlet时,在每个@HttpMapping方法上加上comment属性和@HttpParam注解, 一个方法上可以注解多个@HttpParam, 如上面的 UserServlet 。RestServlet是由RestService自动生成,@HttpMapping、@HttpParam在REST组件中存在对应的注解@RestMapping、@RestParam,因此在编写RestService时需要加上@RestMapping、@RestParam且加上comment属性。如范例: HelloService
+         为了能正确显示接口文档,开发人员需要在编写HttpServlet时,在每个@HttpMapping方法上添加comment属性和@HttpParam注解, 一个方法上可以注解多个@HttpParam, 如上面的 UserServlet 。RestServlet是由RestService自动生成,@HttpMapping、@HttpParam在REST组件中存在对应的注解@RestMapping、@RestParam,因此在编写RestService时需要加上@RestMapping、@RestParam且加上comment属性。如范例: HelloService

   WebSokcet 服务

@@ -208,7 +208,7 @@ private UserInfo user; @Override - public void onMessage(ChatMessage message, boolean last) { // text 接收的格式: {"receiveid":200000001, "content":"Hi Redkale!"} + public void onMessage(ChatMessage message, boolean last) { // text 接收的格式: {"receiveid":200000001, "content":"Hi Redkale!"} message.sendid = user.getUserid(); //将当前用户设为消息的发送方 message.sendtime = System.currentTimeMillis(); //设置消息发送时间 //给接收方发送消息, 即使接收方在其他WebSocket进程节点上有链接,Redkale也会自动发送到其他链接进程节点上。 @@ -223,7 +223,8 @@ @Override public CompletableFuture<String> onOpen(HttpRequest request) { - return CompletableFuture.completedFuture(request.getSessionid(false)); //以request中的sessionid字符串作为WebSocket的sessionid + //以request中的sessionid字符串作为WebSocket的sessionid + return CompletableFuture.completedFuture(request.getSessionid(false)); } };