一、前言
对于android开发人员经常需要一个测试的接口来进行网络请求的测试,每次都需要自己上网查找合适的接口。对于开发者来说太浪费自己的宝贵时间了。基于此 一直想做一个属于自己管控服务器。
二、搭建环境介绍
1、开发工具: IntelliJ IDEA 2017.1.5
选择 Ultimate(最终)的版本
下载地址
2、服务器框架:
1、Jersey:java中的restful web服务的框架
2、guava:java封装的
3、Hibernate:处理数据库与对象关系的映射框架
3、环境
mySQL、Tomcat、java8
三、搭建步骤
1、通过 菜单 file ---> new --->project
2、选择java 和web 点击 下一步



5、 接下来就是配置 Tomcat了




6、在build.gradle文件中dependencies 添加jersey \ Gson \ Guava
compile 'com.google.code.gson:gson:2.8.0'
//java 类的封装 包比较大
compile 'com.google.guava:guava:21.0'
//jersey restful 进行接口请求
compile 'org.glassfish.jersey.core:jersey-client:2.26-b03'
compile 'org.glassfish.jersey.core:jersey-server:2.26-b03'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.26-b03'
//Gson 解析库
compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.26-b03'
//数据库操作框架 先加上
// https://mvnrepository.com/artifact/org.hibernate/hibernate-core
compile 'org.hibernate:hibernate-core:5.2.9.Final'
// https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager
compile 'org.hibernate:hibernate-entitymanager:5.2.9.Final'
// https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0
compile 'org.hibernate:hibernate-c3p0:5.2.9.Final'
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'
就像这样 -.-||

7、在webapp 文件夹下创建WEB-INF \ web.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>Jersey</display-name>
<servlet>
<servlet-name>IDoubleApiServlet</servlet-name>
<!--容器-->
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<!--映射的包名,用于搜索处理类-->
<param-value>net.doubelman.web.service</param-value>
</init-param>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>net.doubelman.web.Application</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--映射-->
<servlet-mapping>
<servlet-name>IDoubleApiServlet</servlet-name>
<!--访问路径-->
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</web-app>
8、映射创建:
包:net.doubelman.web
文件:Application
文件夹:service

注意创建顺序!
AccountService 内容:
package net.doubelman.web.service;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
/**
* Created by fmm on 2018/3/3.
*/
@Path("/account")
public class AccountService {
@GET
@Path("/login")
public String login(){
return "Hello tom !";
}
}
Application内容:
package net.doubelman.web;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import net.doubelman.web.service.AccountService;
import org.glassfish.jersey.server.ResourceConfig;
import java.util.logging.Logger;
/**
* Created by fmm on 2018/3/3.
*/
public class Application extends ResourceConfig {
public Application() {
//添加一个扫描的服务包
packages(AccountService.class.getPackage().getName());
//注册Jackson 解析器
register(JacksonJsonProvider.class);
//注册日志 Logger
register(Logger.class);
}
}
至此一个基本的restful 服务器基本搭建完成了
四、测试搭建结果
点击运行按钮

在浏览器中输入:http://localhost:8080/api/account/login
运行结果:

调接口成功 哈哈!
但是 搞了半天,说好的返回json呢!!别急 接着看!
package net.doubelman.web.service;
import com.google.gson.Gson;
import net.doubelman.web.Bean.Student;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
/**
* Created by fmm on 2018/3/3.
*/
@Path("/account")
public class AccountService {
@GET
@Path("/login")
public String login(){
//自己创建Student类哈 不要懒
Student student = new Student();
student.setAge(18);
student.setId("20180303");
student.setName("Tom");
//临时的哈 正式的可不能这么干!
Gson gson = new Gson();
String stuStr = gson.toJson(student);
return stuStr;
}
}
最终的目的:

好了基本的服务器的搭建就完成了!
当然这这是初步的搭建
例如:如何统一处理返回Json数据、数据库连接、添加数据库、创建数据表等功能还都未实现, 以后有机会吧。
最起码以后想使用接口Api 可以自己搞了哈!
