使用Spring MVC创建REST API

1.什么是REST?

rest全称:Representational State Transfer (表述性状态转移?)

简洁的来说,REST就是将资源的状态以最合适客户端或服务端的形式从服务端转移到服务端(或者相反)

在REST中,资源是通过URL进行识别和定位。REST的行为是通过HTTP方法来定义的,具体来说:

Create : POST

Read:GET

Update:PUT或PATCH(局部更新)

Delete:DELETE    

2.Spring是如何支持REST的

    1.控制器可以处理所有的Http方法,包含四个主要的REST方法:GET,POST,PUT,DELETE;

    2.借助@PathVariable注解,控制器能够处理参数化的url(将变量输入作为URL的一部分);

    3.借助Spring的视图和视图解析器,资源能够以多种方式进行表述,包括将模型数据渲染为xml,json,atom以及RSS的View实现;

    4.可以使用ContentNegotiatingViewResolver来选择最合适客户端的表述;

    5.借助@ResponseBody注解和各种HttpMethodConverter实现,能够替换基于视图的渲染方式;

    6.类似地,@RequsetBody注解以及各种HttpMethodConverter实现可以将传入的Http数据转化为传入控制器处理方法的Java对象;

    7.借助RestTemplate,Spring应用能够方便的使用REST资源


当然Spring4.0可以轻松使用注解构建一个REST客户端

在控制器类上使用@RestController注解,Spring将会为该控制器的所有处理方法应用消息转换功能。这样就不必在每个方法上加上ResponseBody注解类。

自定义出参对象代替ResponseEntity响应客户端

使用@ControllerAdvice注解定义一个增强的全局错误处理器来替换在每个方法上的@ExceptionHandler注解来处理错误信息

利用@PutMapping,@PostMapping,@DeleteMapping,@GetMapping注解来简化对RestTemple的操作

一个典型的REST资源如下:

一个全局的异常处理器
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. export导出方式 整体导入 按需导入 2. export default 导出 本质上,export d...
    漓漾li阅读 3,701评论 0 2
  • 这里从头看起哦ヾ(✿゚゚)ノ 造化人间06-07 美丽一夜没等到王国庆过来,收到了王国庆的微信后,一时间难以相信窝...
    中年老秃子阅读 1,666评论 0 0
  • 今天开始参加一个免费打卡活动,来到办公室就匆匆画好奥特曼,写好字。请群主评定是否合格。群主很犹豫。于是我又匆匆给奥...
    夏秋爱画阅读 1,360评论 0 0
  • 正所谓一个人如果伪装对你有多好,之后他就会表现得有多凶残。是的,我算领会到了。说到底谁都不能怪,只能怪自己,怪自己...
    Alice随想阅读 1,378评论 0 0

友情链接更多精彩内容