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

如何看一个网站是否做推广电销系统开发

如何看一个网站是否做推广,电销系统开发,WordPress开VPN访问快,企业logo设计的建议文章目录 RESTREST基本介绍RESTful快速入门RESTful快速开发 REST REST基本介绍 REST (Representational State Transfer), 表现形式状态转换(访问网络资源的风格) 传统风格资源描述形式 http://localhost/user/getById?id1http://localhost/user/saveUser REST风格描述形式 …

文章目录

  • REST
    • REST基本介绍
    • RESTful快速入门
    • RESTful快速开发

REST

REST基本介绍

REST (Representational State Transfer), 表现形式状态转换(访问网络资源的风格)

传统风格资源描述形式

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

REST风格描述形式

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

REST优点:

隐藏资源的访问行为,无法通过地址得知对资源是何种操作

书写简化

REST风格介绍:

按照REST风格访问资源时使用行为动作区分对资源进行了何种操作

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

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

注意事项:

上述行为是约定方式,约定不是规范,可以打破,所以称REST风格,而不是REST规范

描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts……

RESTful快速入门

1. 设定http请求动作(请求方式)

通过@RequestMapping注解的, method属性

@Controller
public class UserController {// 新增/保存 指定请求行为: POST@RequestMapping(value = "/users", method = RequestMethod.POST)@ResponseBodypublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}// 删除 指定请求行为: DELETE@RequestMapping(value = "/users", method = RequestMethod.DELETE)@ResponseBodypublic String delete(Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

2. 设定请求参数(路径变量)

@PathVariable注解, 写在形参变量的前面, 绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应

设置完成后可以在路径中携带id访问: http://localhost:80/users/1

@Controller
public class UserController {// 定义路径参数@RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)@ResponseBody// 从路径参数中取值public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}
}

@RequestBody @RequestParam @PathVariable 对比:

区别:

@RequestParam用于接收url地址传参或表单传参

@RequestBody用于接收json数据

@PathVariable用于接收路径参数,使用{参数名称}描述路径参数

应用:

后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广

如果发送非json格式数据,选用@RequestParam接收请求参数

采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值

RESTful快速开发

使用RESTful开发, 我们可以发现有许多重复的代码

例如下面代码: 每一个处理器都需要写value = "/users"以及@ResponseBody;

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

简化一: 将公共的路径提取到处理器所在类上

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

简化二: 将每个处理器都有的@RequestBody注解提取到处理器所在类上

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

简化三: @RestController注解

@RestController等同于@ResponseBody加上@ResponseBody注解组合起来的功能

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

简化四: 通过@GetMapping @PostMapping @PutMapping @DeleteMapping注解替代method = RequestMethod.XXX

设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作,例如@GetMapping对应GET请求;

默认属性value:请求访问路径

@RestController
@RequestMapping("/users")
public class UserController {// 新增/保存 指定请求行为: POST@PostMappingpublic String save(@RequestBody User user) {System.out.println("user save..." + user);return "{'module': 'user save'}";}// 删除 指定请求行为: DELETE@DeleteMapping("/{id}")public String delete(@PathVariable Integer id) {System.out.println("user delete..." + id);return "{'module': 'user delete'}";}// 修改/更新 指定请求行为: PUT@PutMappingpublic String update(@RequestBody User user) {System.out.println("user update..." + user);return "{'module': 'user update'}";}// 查询全部 指定请求行为: GET@GetMappingpublic String selectAll() {System.out.println("user selectAll...");return "{'module': 'user selectAll'}";}// 查询根据id 指定请求行为: GET@GetMapping("/{id}")public String selectById(@PathVariable Integer id) {System.out.println("user selectById..." + id);return "{'module': 'user selectById'}";}
}
http://www.yayakq.cn/news/280775/

相关文章:

  • 免费的舆情网站商城网站制作明细
  • 衡阳网站优化外包价格网站后台怎样推荐图片
  • 福州做网站的公司多少钱长安网站建设软件
  • 保定网站seo服务哪个网站可以接程序项目来做
  • 门户网站建站流程娱乐建设网站
  • 天津市建设工程定额管理站网站聚美优品网站建设目的
  • wordpress禁止抓取分页阿克苏网站建设优化
  • 网站 术语网站 文件夹 上传
  • 网站 空间 租用公司起名字大全免费两个字
  • dede网站模板怎么改网站建设方案范例
  • 邯郸做企业网站设计的公司网站建设 考题
  • 长治建一个网站大概要多少钱seo五大经验分享
  • 排版设计的网站kol营销
  • 做图库网站用什么系统软件我国档案网站建设
  • 网站空间2000m多少钱中企动力销售待遇
  • 做装修广告网站好godaddy网站建设怎么样
  • 菏泽建设企业网站我的网站模板下载 迅雷下载 迅雷下载
  • 云商城的网站建设网站的建设的含义
  • 商城网站建设code521桐庐住房和城乡建设局网站
  • 在线课程网站开发的研究意义wordpress 用户注册 插件
  • 西安百度网站快速优化设备外贸用哪个网站
  • 杭州网站app开发公司合肥网站排名
  • 深圳哪里网站建设好网站建设及维护费
  • 郴州网站建设设计制作php开发的培训网站建设
  • 橙域名网站建筑八大员报名官网
  • 卖书的网站怎么做网店美工实训报告总结2000字
  • 网站做多个单页链接软件开发公司简介范文大全
  • 佛山家居网站全网营销中山大兴网站建设
  • 高性能标准网站建设进阶指南 pdf网页设计素材免费版
  • 公司网站实名认证怎么让网站无法自适应