DropWizard
http://www.dropwizard.io/0.9.2/docs/getting-started.html
Jetty for HTTP
Jersey for REST
官方说法 capable of doing 30,000-50,000 requests per second
定义依赖
<dependencies> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-core</artifactId> <version>${dropwizard.version}</version> </dependency> </dependencies>
实现
最核心的类Resource,定义路径和方法
import com.google.common.base.Optional; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; /** * Created by xuanzhui on 2016/3/21. */ @Path("/hello") @Produces(MediaType.APPLICATION_JSON) public class HelloWorldResource { @GET public String sayHello(@QueryParam("name") Optional<String> name) { return "Hello " + name.or("unknown"); } }
定义启动的类Application
import io.dropwizard.Application; import io.dropwizard.Configuration; import io.dropwizard.setup.Environment; /** * Created by xuanzhui on 2016/3/21. */ public class HelloWorldApplication extends Application<Configuration> { public static void main(String[] args) throws Exception { new HelloWorldApplication().run(new String[] { "server" }); } @Override public void run(Configuration configuration, Environment environment) throws Exception { environment.jersey().register(new HelloWorldResource()); } }
直接运行Application,即可通过 localhost:8080/hello 访问
打包
打包出一个jar,使其包含全部的依赖,最核心的是pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.xz</groupId> <artifactId>DropWizardSample</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <dropwizard.version>0.9.2</dropwizard.version> <jdk.version>1.8</jdk.version> </properties> <dependencies> <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-core</artifactId> <version>${dropwizard.version}</version> </dependency> </dependencies> <build> <finalName>DropWizardSample</finalName> <plugins> <!-- Set a compiler level --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> </configuration> </plugin> <!-- Maven Shade Plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <configuration> <createDependencyReducedPom>true</createDependencyReducedPom> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> <executions> <!-- Run shade goal on package phase --> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <!-- important for RS --> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <!-- add Main-Class to manifest file --> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.xz.HelloWorldApplication</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
通过maven package生成fat/uber jar
运行java -jar DropWizardSample.jar,即可通过 localhost:8080/hello 访问
相关推荐
dropwizard:一个非常简单的库,用于构建生产就绪REST Web服务
运行一个简单的例子上应用 。 先决条件: Java 1.8或更高版本。 Apache Maven。 这是运行它的方法: git clone https://github.com/andrus/link-rest-dropwizard.git cd link-rest-dropwizard mvn package java...
该示例代码演示了使用dropwizard的简单REST API。 堆 Dropwizard Gradle PostgreSQL 赫鲁库 它使用Gradle进行构建,并具有用于部署到Heroku上的配置。 它以Heroku插件的形式连接到Postgresql。 REST API Name...
使用asp.net 实现了Rest服务接口,包括实现的文档。Rest接口返回的数据包括json、Stream等。代码结构清晰,可以直接用VS2013运行
请先阅读:http://blog.csdn.net/maoxiang/archive/2009/09/14/4551434.aspx 用简单的Servlet实现REST框架。
此应用程序包含一个可选 DB API 模块的示例。 提供的示例说明了可用的一些功能,并演示了如何在 Dropwizard 中使用这些功能。 此数据库示例由以下类组成: PersonDAO说明了在 Hibernate 的帮助下使用数据访问对象...
jersey实现简单的rest接口 返回json数据
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务。 Restlet项目受到Servlet API、JSP(Java Server Pages)、...
主要介绍了django rest framework vue 实现用户登录详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
dropwizard-pac4j 一个软件包,用于使用保护REST端点。 新版本5.0.0基于Dropwizard v2.x(JDK 11),而先前版本则基于Dropwizardv1.x。用法dropwizard-pac4j提供了两个必须集成到应用程序中的组件: 应用程序配置...
目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找...
Java_Dropwizard_REST_API Java Dropwizard REST API
该示例是一个简单的RESTful接口,可轻松管理任务计划器。 使用 v1.1.0框架 通过实现依赖注入 通过实现JPA 作为内存数据库 进行集成测试 和提供的API文档 提供的数据库迁移 作为容器化解决方案 使用HAL实现将库...
这些内容是作者个人总结所的,主要描述了如何使用Spring MVC搭建Rest服务的全过程,并提供了整个搭建过程的源码。整个搭建过程中使用了Jetty、JAXB2.0和Spring等相关框架和技术,希望下载的人能够对这些技术有所了解...
附件中使用asp.net 实现了Rest服务接口,包括实现的文档。Rest接口返回的数据包括json、Stream等。代码结构清晰,可以直接用VS2013运行
MyEclipse搭建 REST Web Service项目简单的示例
REST翻译成中文就是:“表述性状态转移”:Representational State Transfer,是网络服务接口的一种风格,并不是一个标准。 REST常用的四种HTTP命令,GET、DELETE、PUT和POST。 GET:是获取资源,DELETE: 是删除...
致远OA开发,调用REST接口,实现远程发起OA表单。附上实现代码、相关jar包、以及致远API地址
基础功能:用 Java/SpringBoot/Hibernate 实现一个 RestServer,支持对整型类型的数值进行排序。通过 PostMan 等 RestClient 将待排序的多个数值发给 RestServer,RestServer 对这些数值进行排序,将排序前和排序后...
这是一个用 Java 编写的示例 REST 应用程序。 它的目的是创建一个通用项目,该项目可用作新项目的起点,也可用于学习工作(我正在建立一个开放的游戏数据库)。 基于版本 0.7.0 使用依赖注入(没有 Spring 依赖!...