RESTful web服务最近有多流行已经无需我多评价。是的,你的确需要它,但如何选择呢?我尝试了不同的Java REST框架,基本上都是Jersey和Spring MVC。我认为大多数情况下Spring是构建RESTful应用程序的首选。
如果你已经有了一个Spring app,接下来不需要做任何复杂的配置就可以用Spring开始实现RESTful API了。只要使用标准的注解配置向下面这样配置JSON视图解析器(view resolver ):
//这个示例使用了Groovy,相信你能够理解
@Constoller
@RequestMapping('/api/user')
class UserApi {
@RequestMapping(value = '/{id}', method = RequestMethod.GET)
User get(@PathVariable long id) {
//... load user, etc
}
@RequestMapping(value = '/{id}', method = RequestMethod.POST)
User update(@PathVariable long id, @RequestModel User updated) {
//... load user, update values, etc
}
}
当然,你可以不用JSON转而XML或者使用ProtoBuf以及其他什么。这很简单而且不会因为修改造成代码错误,比起Jersey要简单很多。 |
通常你的应用程序除了RESTful API还会有其他东西,比如标准的HTML页面、文件下载/上传、复杂的API请需求数据流处理、重要的后台处理、数据库访问、复杂的认证和授权与外部服务集成等等。Spring框架可以将这些完成得很好。同时我最喜欢的就是,通常会有两种办法达成目标:“应急办法”和常规办法:)
实际上我是Grails web的粉丝,我真的很喜欢它并且为Grails写了一些插件。我相信构建传统 web应用方面Grails是最好的框架。但是当我看见采用RESTful构建和一些现代应用之后(大多数是“单页面App”)——我总是会建议使用Spring MVC (+ Groovy,这又是另外一个话题)。
一些有用的链接:
- Spring – http://www.springsource.org/spring-framework
- Spring安全项目,如果你需要使用认证–http://www.springsource.org/spring-security
- 所有Spring项目 – http://www.springsource.org/projects
- 如果真的打算做一个好的RESTful应用,你需要Spring HATEOAS –https://github.com/SpringSource/spring-hateoas
- Spring MVC文档 –http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html
- 一篇使用Spring进行内容交互的好文 –http://blog.springsource.org/2013/05/11/content-negotiation-using-spring-mvc/
相关推荐
3. 接下来,我们需要实现Restful API和WebService API接口,使用Spring Boot的Restful API和CXF框架来实现学生信息的增删改查操作。 4. 最后,我们需要测试Restful API和WebService API接口,确保其正常工作。 结论...
Spring Boot 整合 Mybatis 实现RESTful API ,具体可以查看博客: http://blog.csdn.net/yaozhiqi1905658804/article/details/70820892
完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...
在`src/main/java`下创建一个新的包,例如`com.example.restfulapi.controller`,然后在此包中创建一个名为`DemoController`的类。使用`@RestController`注解标记该类为REST控制器,使用`@RequestMapping`定义根路径...
为了解决上面这样的问题,本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又...
在RestfulApi服务端的实现中,通常会用到以下技术栈: 1. **服务器框架**:如Spring Boot或Express.js,它们为快速构建RESTful API提供了强大的支持。在这个Demo中,可能使用了Spring Boot,因为它在Java世界中广泛...
本文将详细介绍Java调用Restful API接口的方式,包括使用HttpURLConnection、HttpClient和Spring的RestTemplate等方式,并对每种方式进行详细的分析和比较。 首先,介绍了使用HttpURLConnection实现Restful接口的...
**RestFul API 知识点详解** ...RESTful API是遵循REST原则设计的Web服务接口,它使得...实践中,我们通常会用到如Spring Boot这样的框架来快速构建RESTful服务,同时结合Swagger等工具生成API文档,方便开发者使用。
spring-rest-exception-handler, 一个方便的RESTful api Spring MVC 异常 spring REST异常处理程序 这个项目的目的是为for提供一个方便的异常处理程序( 解析器),它满足了错误响应的最佳实践。 处理自定义异常。...
在构建基于Spring框架的RESTful API时,开发者可以利用Spring的强大功能来实现高效、安全且易于维护的后端服务。以下是一些关键知识点的详细解释: 1. **Spring Boot初始化Web应用** - **Maven依赖**:使用Spring ...
在这个"restful结合spring实例"中,我们有两个具体的示例,一个基于Spring MVC,展示了如何在Spring框架下构建RESTful API。 首先,我们来看看RESTful的基本概念。RESTful设计的核心是将业务逻辑拆分为独立的资源,...
restful api spring boot 简洁 资源
在这个“Spring CXF Restful实例”中,我们将深入探讨如何利用Spring CXF来创建RESTful API。REST(Representational State Transfer)是一种软件架构风格,常用于构建现代Web服务,强调简洁、无状态和基于标准的...
在本案例中,我们将探讨如何利用Spring Security集成JWT来实现RESTful API的认证与授权。首先,我们需要了解RESTful API的基本原则,即通过HTTP方法(如GET、POST、PUT、DELETE等)和资源URL来操作数据。 1. **JPA...
用Spring maven做的restful api小Demo 仅供参考 看见有其他大神做的,积分太高了,我来个免积分下载的吧 ,不敢忘挖井人http://blog.csdn.net/u010857795/article/details/54377196 附上...
flutter编程语言+JAVAspring+Web服务+RESTful API**:这是一个关于JAVAspring编程语言的Web服务的RESTful API的资源,适合有一定JAVAspring基础的开发者。它介绍了JAVAspring的Web服务的概念、原理和作用,以及如何...
URI版本化是通过在URI中使用版本指示符来实现的,版本号应当紧跟在主机名和API模块名称之后。例如:***。资源命名时应当使用名词,并且使用复数形式。命名约定应全部使用小写,并用连字符'-'替换URI中的下划线'_'。 ...
在本项目中,"spring boot3+jpa+lombok+mapstruct实现的restful api例子"是一个集成多种技术的示例,旨在展示如何高效地构建RESTful API服务。下面将详细介绍这些关键技术及其相互间的配合。 1. **Spring Boot 3**:...
本教程将通过一个名为"spring-mvc-demo"的项目,详细介绍如何使用Spring框架来实现RESTful Web服务。 一、Spring MVC与RESTful Web服务 Spring MVC是Spring框架的一部分,专门用于处理Web请求和响应。RESTful Web...
Jersey是Java官方的JAX-RS(Java API for RESTful Web Services)实现,它提供了一套全面的工具和API,用于轻松地构建和部署RESTful服务。通过使用Jersey,开发者可以利用注解(annotations)来定义资源、HTTP方法和...