jersery+jetty嵌入式restful的框架开发

时间:2021-08-25 05:01:07

随着微服务的流程,越来越多的后台服务采用了restful api风格的开放API,jersery+jetty嵌入式变成了一个很好的选择,

我自己写了一个简单的框架,https://github.com/wangjiuong/RestFrameWork/tree/master/RestFrameWork 目前还不支持集群,正在优化中。

基于该框架可以快速的开发出简单的restful api风格的服务。

最简单的HelolWorld程序。https://github.com/wangjiuong/RestFrameWork/tree/master/example/resetfulTest

EntryPoint.java

package org.nuaa.resetfulTest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import org.nuaa.resetful.RestFulAnontation; @Path("/entry-point")
@RestFulAnontation
public class EntryPoint { @GET
@Path("test")
@Produces(MediaType.TEXT_PLAIN)
public String test() {
return "EntryPoint Test";
}
}
@RestFulAnontation表示这个是对外提供restful api接口的类

Main.java

package org.nuaa.resetfulTest;

import org.json.JSONObject;
import org.nuaa.resetful.JettyServer; /**
* Hello world!
*
*/
public class App {
public static void main(String[] args) {
try {
JSONObject parameter = new JSONObject();
parameter.put("port", 8086);
parameter.put("address", "127.0.0.1");
JettyServer.init(parameter);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

启动日志如下:

2017-04-09 23:42:20.145:INFO::main: Logging initialized @380ms
begin scan 1491752540278
finished scan 1491752543624
restful api mapping class: org.nuaa.resetfulTest.EntryPoint
2017-04-09 23:42:23.625:INFO:oejs.Server:main: jetty-9.3.8.v20160314
2017-04-09 23:42:23.828:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@38d17d80{/,null,AVAILABLE}
2017-04-09 23:42:23.893:INFO:oejs.ServerConnector:main: Started ServerConnector@26f46fa6{HTTP/1.1,[http/1.1]}{127.0.0.1:8086}
2017-04-09 23:42:23.894:INFO:oejs.Server:main: Started @4140ms

启动后请求结果如下:

jersery+jetty嵌入式restful的框架开发