SpringMVC Restful api接口实现的代码
发布时间 - 2026-01-11 03:22:07 点击率:次【前言】

面向资源的 Restful 风格的 api 接口本着简洁,资源,便于扩展,便于理解等等各项优势,在如今的系统服务中越来越受欢迎。
.net平台有WebAPi项目是专门用来实现Restful api的,其良好的系统封装,简洁优雅的代码实现,深受.net平台开发人员所青睐,在后台服务api接口中,已经逐步取代了辉煌一时MVC Controller,更准确地说,合适的项目使用更加合适的工具,开发效率将会更加高效。
python平台有tornado框架,也是原生支持了Restful api,在使用上有了很大的便利。
Java平台的SpringMVC主键在Web开发中取代了Struts2而占据了更加有力的地位,我们今天着重讲解如何在Java SpringMVC项目中实现Restful api。
【实现思路】
Restful api的实现脱离不了路由,这里我们的Restful api路由由spring mvc 的 controller来实现。
【开发及部署环境】
开发环境:Windows 7 ×64 英文版
Intellij IDEA 2017.2
部署环境:JDK 1.8.0
Tomcat 8.5.5
测试环境:chrome
fiddler
【实现过程】
1、搭建spring mvc maven项目
这里的搭建步骤不再赘述,如有需要参考:https://www./article/117670.htm
2、新建控制器 StudentController
为了体现Restful api 我们采用注解,RequestMapping("/api/Student")
具体的代码如下:
package Controllers;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/Student")
public class StudentController {
@RequestMapping(method = RequestMethod.GET)
public String Get() {
return "{\"id\":\"1\",\"name\":\"1111111111\"}";
}
@RequestMapping(method = RequestMethod.POST)
public String Post() {
return "{\"id\":\"2\",\"name\":\"2222222222\"}";
}
@RequestMapping(method = RequestMethod.PUT)
public String Put() {
return "{\"id\":\"3\",\"name\":\"3333333333\"}";
}
@RequestMapping(method = RequestMethod.DELETE)
public String DELETE() {
return "{\"id\":\"4\",\"name\":\"4444444444\"}";
}
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
public String Get(@PathVariable("id") Integer id) {
return "{\"id\":\""+id+"\",\"name\":\"get path variable id\"}";
}
}
这里有Get,Post,Put,Delete分别对应 查询,添加,修改,删除四种对资源的操作,即通常所说的CRUD。
spring mvc可实现restful的方式有@Controller和@RestController两种方式,两种方式的区别如下:
@Controller的方式实现如果要返回json,xml等文本,需要额外添加@ResponseBody注解,例如:
@ResponseBody //用于返回json数据或者text格式文本
@RequestMapping(value = "/TestJson", method = RequestMethod.GET)
public String TestJson() {
return "{\"id\":\"1001\",\"name\":\"zhangsan\"}";
}
@RestController方式不需要写@ResponseBody,但是不能返回模型绑定数据和jsp视图,只能返回json,xml文本,仅仅是为了更加方便返回json资源而已。
上述的Rest方法中多写了个Get方法:
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
public String Get(@PathVariable("id") Integer id) {
return "{\"id\":\""+id+"\",\"name\":\"get path variable id\"}";
}
该方法可以直接在url拼接一个参数,更加方便对资源的定向访问,例如查一个student list 可以默认空参数,而查询对应的某一个student详情信息,可以id=studentId 定向查询单条,使得我们对资源的访问更加快捷方便。
【系统测试】
运行系统,使用fiddler调用restful api接口:
1.Get方式
2.Post方式
3.Put方式
4.Delete方式
5.Get/id方式
至此,可见我们的spring mvc Restful api接口已经全部通过测试!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# SpringMVC
# Restful
# api接口
# api
# springmvc使用REST出现:Request method 'PUT' n
# 如何利用Spring MVC实现RESTful风格
# springmvc Rest风格介绍及实现代码示例
# SpringMVC开发restful API之用户查询代码详解
# Spring MVC利用Swagger2如何构建动态RESTful API详解
# SpringMVC数据页响应ModelAndView实现页面跳转
# Spring MVC 文件、cookies的接收&nbs
# 两种
# 地说
# 将会
# 如有
# 取代了
# 可以直接
# 受欢迎
# 不需
# 四种
# 英文版
# 来实现
# 绑定
# 开发人员
# 大家多多
# 要写
# 更准确
# 主键
# 单条
# 是为了
# 多写
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android利用动画实现背景逐渐变暗
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
如何快速辨别茅台真假?关键步骤解析
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
韩国服务器如何优化跨境访问实现高效连接?
微信小程序 input输入框控件详解及实例(多种示例)
Laravel如何记录自定义日志?(Log频道配置)
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Laravel如何使用Telescope进行调试?(安装和使用教程)
如何在VPS电脑上快速搭建网站?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
如何快速登录WAP自助建站平台?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
googleplay官方入口在哪里_Google Play官方商店快速入口指南
如何用5美元大硬盘VPS安全高效搭建个人网站?
,网页ppt怎么弄成自己的ppt?
php json中文编码为null的解决办法
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何实现javascript表单验证_正则表达式有哪些实用技巧
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Laravel如何处理异常和错误?(Handler示例)
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何快速搭建二级域名独立网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
黑客如何通过漏洞一步步攻陷网站服务器?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
微信小程序 wx.uploadFile无法上传解决办法
Laravel如何创建自定义Facades?(详细步骤)
移动端脚本框架Hammer.js
Java类加载基本过程详细介绍
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
如何快速使用云服务器搭建个人网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
,在苏州找工作,上哪个网站比较好?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
iOS发送验证码倒计时应用
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
零服务器AI建站解决方案:快速部署与云端平台低成本实践
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
JavaScript中的标签模板是什么_它如何扩展字符串功能
微信小程序 配置文件详细介绍

