首页 > 代码库 > jersery+jetty嵌入式restful的框架开发

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

随着微服务的流程,越来越多的后台服务采用了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的框架开发