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

Posted 王久勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的框架开发的主要内容,如果未能解决你的问题,请参考以下文章

jersey+jetty+jdk8实现restful接口

jersey+jetty+jdk8实现restful接口

使用 mvn jetty:run 运行嵌入式 H2 数据库

如何使用 Apache Camel 和 Jetty 创建 REST 微服务

如何在 ODL 控制器中配置拒绝服务过滤器

eclips如何安装jetty插件