# Spring-REST **Repository Path**: chenhaotao/Spring-REST ## Basic Information - **Project Name**: Spring-REST - **Description**: Spring发布与调用REST风格的WebService - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 48 - **Created**: 2018-01-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring-REST    如果说Web Service是一种特殊的RPC,那么REST Service又是一种特殊的Web Service,目前已成为分布式通信的重要手段。本项目基于Spring框架,完成REST风格的接口的发布(Server)与接收(Client)。特性如下:     Server端:    1.基于SpringMVC的@RequestMapping的属性method配置GET,POST,DELETE,PUT四种HTTP请求,对应于CRUD的四种操作;    2.前端页面发送四种HTTP请求,可通过Jquery的ajax方法完成;    3.前后台通过json通信,对于POST和PUT请求,ajax需要提交json字符串作为数据,后台用@RequestBody接收json转为java对象;    4.已配置阿里巴巴的Fastjson工具作为消息转换器,controller返回的对象自动转json字符串到前端;        5.Server端使用SSM框架,需要用mysql建立表格actor持久化数据: CREATE TABLE `actor` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(45) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;     6.Server端入口:       http://localhost:8080/Spring-REST-Server/rest  Cilent端:    1.客户端使用Spring的RestTemplate的API发送GET,POST,DELETE,PUT请求,底层是通过HttpClient实现远程调用;    2.注意POST和PUT方法,发送的请求包含了HTTP头设置,否则容易出415的错误;   3.前端页面提交json数据到后台的模板为: $.ajax({ url : "actors", type : "POST/DELETE/PUT", data : JSON.stringify(json), //转JSON字符串 dataType: 'json', contentType:'application/json;charset=UTF-8', //contentType很重要 success : function(result) { }); 如果是GET请求,直接$.get(...)即可; 4.Client端入口:      http://localhost:8080/Spring-REST-Client/rest    效果图: ![输入图片说明](http://git.oschina.net/uploads/images/2017/0209/143942_9a9acde4_1110335.jpeg "在这里输入图片标题") ### 附录:个人作品索引目录(持续更新) #### 基本篇 1. [SpringMVC,Mybatis,Spring三大框架的整合实现增删改查](https://gitee.com/shenzhanwang/SSM) 2. [Struts2,Hibernate,Spring三大框架的整合实现增删改查](https://gitee.com/shenzhanwang/S2SH) 3. [Spring,SpringMVC和Hibernate的整合实现增删改查](https://gitee.com/shenzhanwang/SSH) 4. [Spring平台整合activiti工作流引擎实现OA开发](https://gitee.com/shenzhanwang/Spring-activiti) 5. [Spring发布与调用REST风格的WebService](https://gitee.com/shenzhanwang/Spring-REST) 6. [Spring整合Apache Shiro框架,实现用户管理和权限控制](https://gitee.com/shenzhanwang/Spring-shiro) 7. [使用Spring security做权限控制](https://gitee.com/shenzhanwang/spring-security-demo) #### 中级篇 8. [Spring连接mongoDB数据库实现增删改查](https://gitee.com/shenzhanwang/Spring-mongoDB) 9. [Spring连接Redis实现缓存](https://gitee.com/shenzhanwang/Spring-redis) 10. [Spring连接图存数据库Neo4j实现增删改查](https://gitee.com/shenzhanwang/Spring-neo4j) 11. [Spring平台整合消息队列ActiveMQ实现发布订阅、生产者消费者模型(JMS)](https://gitee.com/shenzhanwang/Spring-activeMQ) 12. [Spring整合消息队列RabbitMQ实现四种消息模式(AMQP)](https://gitee.com/shenzhanwang/Spring-rabbitMQ) 13. Spring整合Jasig CAS框架实现单点登录(未开源) 14. Spring框架的session模块实现集中式session管理(未开源) 15. [Spring整合websocket实现即时通讯](https://gitee.com/shenzhanwang/Spring-websocket) 16. 使用Spring boot整合mybatis,rabbitmq,redis,mongodb实现增删改查(未开源) 17. [Spring MVC整合FastDFS客户端实现文件上传](https://gitee.com/shenzhanwang/Spring-fastdfs) #### 高级篇 18. 搭建zookeeper集群提供目录服务(未开源) 19. 使用ubuntu+apache+SVN+SVNadmin+maven+Nexus+Hudson搭建持续集成环境(未开源) 20. Spring框架整合dubbo框架实现分布式服务治理(SOA架构)(未开源) 21. Spring框架整合dubbox实现微服务架构(MSA架构)(未开源) 22. 使用Spring Cloud实现微服务架构(MSA架构)(未开源) 23. 使用FastDFS搭建分布式文件系统(高可用、负载均衡)(未开源) 24. 搭建高可用nginx集群和Tomcat负载均衡(未开源) 25. 搭建可扩展的ActiveMQ高可用集群(未开源) 26. 实现Mysql数据库的主从复制、读写分离、分表分库、负载均衡和高可用(未开源) 27. 搭建高可用redis集群实现分布式缓存(未开源) 28. [Spring整合SolrJ实现全文检索](https://gitee.com/shenzhanwang/Spring-solr) ### 捐赠,私信索取未开源代码 ![输入图片说明](https://gitee.com/uploads/images/2017/1217/145453_b639d3db_1110335.png "mm_facetoface_collect_qrcode_1513493342741.png") ![输入图片说明](https://gitee.com/uploads/images/2017/1217/145502_2d4fe513_1110335.jpeg "1513493369523.jpg")