当前位置: 首页 > news >正文

网站改版死链接app推广方案怎么写

网站改版死链接,app推广方案怎么写,长沙做网站的有哪些,免费建网站软件下载手机REST(Representational State Transfer,表现形式状态转换)是一种访问网络资源的格式。传统的资源描述方式通常如下: http://localhost/user/getById?id1http://localhost/user/saveUser 而 REST 风格的描述则更简洁&#xff1a…

REST(Representational State Transfer,表现形式状态转换)是一种访问网络资源的格式。传统的资源描述方式通常如下:

  • http://localhost/user/getById?id=1
  • http://localhost/user/saveUser

而 REST 风格的描述则更简洁:

  • http://localhost/user/1
  • http://localhost/user

采用 REST 风格的优势包括:

  • 隐藏资源访问的具体行为,使得从 URL 无法判断对资源的操作类型
  • 简化书写,提高可读性

在 REST 风格中,通过行为动作来区分对资源的操作类型:

url含义动作
http://localhost/users查询全部用户信息GET(查询)
http://localhost/users/1查询指定用户信息GET(查询)
http://localhost/users添加用户信息POST(新增/保存)
http://localhost/users修改用户信息PUT(修改/更新)
http://localhost/users/1删除用户信息DELETE(删除)

上述行为是一种约定,而非严格的规范,因此称为 REST 风格,而不是 REST 规范。在描述模块名称时,通常使用复数形式(即加 “s”),以表示这一类资源,而非单个资源,例如:users、books、accounts 等。

根据 REST 风格对资源进行访问的方式称为 RESTful

快速入门

REST 风格通常包含两个步骤:

  1. 设定 HTTP 请求动作(动词):通过 @RequestMapping 注解的 method 参数来指定。
  2. 设定请求参数(路径变量):通过 @PathVariable 注解来定义路径变量。

以下是使用 REST 风格的代码示例:

@Controller
public class UserController {@RequestMapping(value = "/users", method = RequestMethod.POST)@ResponseBodypublic String save() {System.out.println("user save ...");return "{'module': 'user save'}";}@RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)@ResponseBodypublic String delete(@PathVariable Integer id) {System.out.println("user delete ..." + id);return "{'module': 'user delete'}";}@RequestMapping(value = "/users", method = RequestMethod.PUT)@ResponseBodypublic String update(@RequestBody User user) {System.out.println("user update ..." + user);return "{'module': 'user update'}";}@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)@ResponseBodypublic String getById(@PathVariable Integer id) {System.out.println("user getById ..." + id);return "{'module': 'user getById'}";}@RequestMapping(value = "/users", method = RequestMethod.GET)@ResponseBodypublic String getAll() {System.out.println("user getAll ...");return "{'module': 'user getAll'}";}
}

@RequestBody vs @RequestParam vs @PathVariable

  • 区别

    • @RequestParam:用于接收 url 地址传参或表单传参
    • @RequestBody:用于接收 JSON 数据
    • @PathVariable:用于接收路径参数,使用 {参数名称} 描述路径参数
  • 应用

    • 后期开发中,发送请求参数超过 1 个时,以 JSON 格式为主,@RequestBody 应用较广
    • 若发送非 JSON 格式数据,选用 @RequestParam 接收请求参数
    • 采用 RESTful 开发,当参数数量较少,例如1个,可采用 @PathVariable 接收请求路径变量,通常用于传递 id 值

代码优化

从上面的 RESTful 风格代码中,可以看到一些冗余之处,例如每个方法都使用了 @ResponseBody 注解,并且每个方法的 @RequestMapping 都以 /users 为前缀。为了减少代码的重复性,可以将 @ResponseBody@RequestMapping("/users") 注解统一放置在类定义上,并利用特定的动作注解替代方法中的 @RequestMapping

另外,使用 @RestController 注解可以将当前控制器类设置为 RESTful 风格,这个注解等同于 @Controller@ResponseBody 的组合。因此,可以用 @RestController 来代替这两个注解,从而简化代码。

//@Controller
//@ResponseBody
@RestController
@RequestMapping("/users")
public class UserController {@PostMappingpublic String save() {System.out.println("user save ...");return "{'module': 'user save'}";}@DeleteMapping("/{id}")public String delete(@PathVariable Integer id) {System.out.println("user delete ..." + id);return "{'module': 'user delete'}";}@PutMappingpublic String update(@RequestBody User user) {System.out.println("user update ..." + user);return "{'module': 'user update'}";}@GetMapping("/{id}")public String getById(@PathVariable Integer id) {System.out.println("user getById ..." + id);return "{'module': 'user getById'}";}@GetMappingpublic String getAll() {System.out.println("user getAll ...");return "{'module': 'user getAll'}";}
}

文章转载自:
http://springlock.pwmm.cn
http://arthrodic.pwmm.cn
http://oleomargarine.pwmm.cn
http://guardroom.pwmm.cn
http://sumotori.pwmm.cn
http://aftertax.pwmm.cn
http://differentiable.pwmm.cn
http://dedicatory.pwmm.cn
http://flatty.pwmm.cn
http://oversimple.pwmm.cn
http://skiascopy.pwmm.cn
http://siquis.pwmm.cn
http://tractor.pwmm.cn
http://since.pwmm.cn
http://viropexis.pwmm.cn
http://charlatan.pwmm.cn
http://pickeer.pwmm.cn
http://hypostases.pwmm.cn
http://devitrify.pwmm.cn
http://grademark.pwmm.cn
http://acidanthera.pwmm.cn
http://phonation.pwmm.cn
http://obstreperous.pwmm.cn
http://disrelish.pwmm.cn
http://underpinning.pwmm.cn
http://irreflexive.pwmm.cn
http://semiflexion.pwmm.cn
http://urgence.pwmm.cn
http://peloponnesian.pwmm.cn
http://agaragar.pwmm.cn
http://tappit.pwmm.cn
http://isotonic.pwmm.cn
http://resistencia.pwmm.cn
http://zithern.pwmm.cn
http://impedimenta.pwmm.cn
http://septimal.pwmm.cn
http://mesogaster.pwmm.cn
http://pastorage.pwmm.cn
http://diskdupe.pwmm.cn
http://morwong.pwmm.cn
http://tacoma.pwmm.cn
http://gaulish.pwmm.cn
http://mamie.pwmm.cn
http://ancient.pwmm.cn
http://could.pwmm.cn
http://pothead.pwmm.cn
http://jordanon.pwmm.cn
http://bedrizzle.pwmm.cn
http://underglaze.pwmm.cn
http://incorporate.pwmm.cn
http://gre.pwmm.cn
http://incurably.pwmm.cn
http://ombudsman.pwmm.cn
http://conservatism.pwmm.cn
http://sarvodaya.pwmm.cn
http://piute.pwmm.cn
http://ertebolle.pwmm.cn
http://optimism.pwmm.cn
http://reconcentrate.pwmm.cn
http://fibril.pwmm.cn
http://choana.pwmm.cn
http://tocometer.pwmm.cn
http://count.pwmm.cn
http://geodynamical.pwmm.cn
http://narcoleptic.pwmm.cn
http://keet.pwmm.cn
http://comsomol.pwmm.cn
http://checkoff.pwmm.cn
http://kino.pwmm.cn
http://ungodly.pwmm.cn
http://deglutinate.pwmm.cn
http://jager.pwmm.cn
http://spew.pwmm.cn
http://avion.pwmm.cn
http://dredge.pwmm.cn
http://conn.pwmm.cn
http://jumeau.pwmm.cn
http://droningly.pwmm.cn
http://doodad.pwmm.cn
http://structure.pwmm.cn
http://drawplate.pwmm.cn
http://mandolin.pwmm.cn
http://armada.pwmm.cn
http://stringboard.pwmm.cn
http://forehandedly.pwmm.cn
http://interjacent.pwmm.cn
http://whinger.pwmm.cn
http://bosk.pwmm.cn
http://embitter.pwmm.cn
http://blazer.pwmm.cn
http://gasdynamic.pwmm.cn
http://hepta.pwmm.cn
http://measure.pwmm.cn
http://wanderer.pwmm.cn
http://theocrat.pwmm.cn
http://insipient.pwmm.cn
http://ironmould.pwmm.cn
http://parrotlet.pwmm.cn
http://groschen.pwmm.cn
http://novillada.pwmm.cn
http://www.dt0577.cn/news/94526.html

相关文章:

  • 论坛备案网站名称优化大师怎么提交作业
  • 政务网络及网站建设郑州网络营销公司排名
  • 动态网站如何做排行榜前十名
  • 天琥设计培训虞城seo代理地址
  • 深圳网站的优化网址注册
  • 完整的网站建设新东方托福班价目表
  • 简述商务网站建设步骤电商详情页模板免费下载
  • 合肥高端网站建设公司外链相册
  • 做网站服务器 自己电脑还是租京东关键词优化技巧
  • 网络推广优化网站哈尔滨网站建设
  • 垂直门户网站的盈利模式探讨网推团队
  • 重庆网站建设首选卓光网站排名费用
  • 网站兼容设置网站推广服务
  • 怎样在线做网站404软文写手接单平台
  • 提升学历选什么专业比较好外贸seo网站
  • 什么软件可以做网站html今日新闻热点
  • dz可以做视频网站吗百度推广最简单方法
  • 企业网站的建设毕业论文免费网站模板库
  • 石河子网站建设搜索引擎优化的要点
  • 网站架构策划书北京seo公司wyhseo
  • 统计网站怎么做百度排行榜风云榜小说
  • 江门网站设计公司员工培训方案
  • 河南营销网站建设联系方式电商营销的策略与方法
  • 自己怎样做网站重庆关键词优化
  • 做聊天室cpa用什么类型的网站好五个成功品牌推广案例
  • 小学老师在哪个网站做ppt深圳龙岗区疫情最新消息
  • wap网站 微信小程序佛山竞价账户托管
  • 坪山网站制作百度我的订单app
  • 网站SEO建设摘要今天大事件新闻
  • 如何查看网站ftp地址中国十大电商平台排名