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

vue 做门户网站信息流广告是什么

vue 做门户网站,信息流广告是什么,成都网站维护公司,甘肃网站建设公司★ RESTful服务 RESTful服务是“前后端分离”架构中的主要功能&#xff1a; 后端应用对外暴露RESTful服务&#xff0c;前端应用则通过RESTful服务与后端应用交互。后端应用 RESTful接口 <------------------> 前端★ 基于JSON的RESTful服务 使用RestController注解…

★ RESTful服务

RESTful服务是“前后端分离”架构中的主要功能:

后端应用对外暴露RESTful服务,前端应用则通过RESTful服务与后端应用交互。后端应用  RESTful接口   <------------------> 前端

★ 基于JSON的RESTful服务

使用@RestController注解修饰控制器类,或使用@ResponseBody修饰处理方法即可。

@RestController和@Controller的区别就在于@RestController会自动为每个处理方法都添加@ResponseBody注解。

@RequestBody,用于修饰处理方法的参数,用于获取RESTful提交的请求数据。

RESTful有一个约定,主要是对URL有约定比如对于一个操作图书的RESTful接口:GET  /books/{id} - (获取数据) 获取指定id的图书
GET  /books?参数  -(获取数据) 获取符合查询参数的图书
GET  /books        -(获取数据) 获取所有图书
POST /books        -(添加数据) 添加图书
PUT  /books/{id}    -(更新数据) 更新指定ID的图书
DELETE /books/{id}    -(删除数据) 删除指定ID的图书
DELETE /books?参数    -(删除数据) 删除符合指定参数的图书

Restful处理方法的返回值通常都应该使用HttpEntity或ResponseEntity。

   HttpEntity    只能额外地指定响应头,不支持指定响应码。↑ResponseEntity:  可额外指定响应的响应头、响应码(HttpStatus代表)ResponseEntity 继承 HttpEntity    

代码演示

总结:就只是前端用 get 、 post 、 put 、 delete 发起请求,
后端用
@GetMapping(前端获取数据)、PostMapping(前端推送数据)、
PutMapping(前端修改数据)、DeleteMapping(前端删除数据)
接收,就是 RESTful风格了。

基础数据:
在这里插入图片描述

1、Get 请求, 前段根据id查看图书
在这里插入图片描述

2、查看所有图书,前端用get请求
在这里插入图片描述

3、添加图书,前端用 post 请求
在这里插入图片描述

4、根据id更新图书信息,前端用 put 进行请求
在这里插入图片描述

5、根据id删除图书,前端用delete 发起请求
在这里插入图片描述

总结:

如图:三个方法的访问路径都是一样的,不同的只是请求的方式不同,一个是get,一个是put,一个是delete,这就是 restful 风格,项目会自动识别。
在这里插入图片描述

完整代码

Book

@Data
public class Book
{private Integer id;private String name;private double price;private String author;public Book(Integer id, String name, double price, String author){this.id = id;this.name = name;this.price = price;this.author = author;}
}

BookController

package cn.ljh.app.controller;import cn.ljh.app.domain.Book;
import cn.ljh.app.service.BookService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;import java.util.List;/**     GET  /books/{id} - (获取数据) 获取指定id的图书*     GET  /books?参数  -(获取数据) 获取符合查询参数的图书*     GET  /books        -(获取数据) 获取所有图书*     POST /books        -(添加数据) 添加图书*     PUT  /books/{id}    -(更新数据) 更新指定ID的图书*     DELETE /books/{id}    -(删除数据) 删除指定ID的图书*     DELETE /books?参数    -(删除数据) 删除符合指定参数的图书**  Restful处理方法的返回值通常都应该使用HttpEntity或ResponseEntity。**/@RequestMapping("/books")
@RestController
public class BookController
{//有参构造器进行依赖注入private BookService bookService;public BookController(BookService bookService){this.bookService = bookService;}//根据id查看图书@GetMapping("/{id}")public ResponseEntity<Book> viewBookById(@PathVariable Integer id){Book book = bookService.getBookById(id);//参数1:响应数据体  参数2:需要添加的响应头,没有就给个null   参数3:响应码 , OK 代表 200return new ResponseEntity<>(book, null, HttpStatus.OK);}//查看所有图书@GetMapping("")public ResponseEntity<List<Book>> viewBooks(){List<Book> allBooks = bookService.getAllBooks();return new ResponseEntity<>(allBooks, null, HttpStatus.OK);}//添加图书@PostMapping("")public ResponseEntity<Book> addBook(@RequestBody Book book){Book b = bookService.addOrUpdateBook(book);//HttpStatus.CREATED 代表返回的状态码为 201return new ResponseEntity<>(b, null, HttpStatus.CREATED);}//根据id更新图书信息@PutMapping("/{id}")public ResponseEntity<Book> updateBookById(@PathVariable Integer id, @RequestBody Book book){book.setId(id);Book b = bookService.addOrUpdateBook(book);return new ResponseEntity<>(b, null, HttpStatus.OK);}//根据id删除图书@DeleteMapping("/{id}")public ResponseEntity<Book> deleteBookById(@PathVariable Integer id){Book book = bookService.deleteBookById(id);return new ResponseEntity<>(book, null, HttpStatus.OK);}}

BookService

package cn.ljh.app.service;import cn.ljh.app.domain.Book;import java.util.List;public interface BookService
{//根据id查看图书Book getBookById(Integer id);//查看所有图书List<Book> getAllBooks();//添加/修改图书Book addOrUpdateBook(Book book);//根据id删除图书Book deleteBookById(Integer id);}

BookServiceImpl

package cn.ljh.app.service.impl;import cn.ljh.app.domain.Book;
import cn.ljh.app.service.BookService;
import org.springframework.stereotype.Service;import java.util.*;
import java.util.concurrent.ConcurrentHashMap;@Service
public class BookServiceImpl implements BookService
{//创建一个线程安全的map集合存数据,假设为数据库static Map<Integer, Book> bookDB = new ConcurrentHashMap<>();static int nextId = 1;//初始化数据库的数据static{bookDB.put(nextId, new Book(nextId++, "火影忍者", 120, "岸本"));bookDB.put(nextId, new Book(nextId++, "七龙珠", 121, "鸟山明"));}//根据id查看图书@Overridepublic Book getBookById(Integer id){if (id != null){Book book = bookDB.get(id);if (book!=null){return book;}}throw new RuntimeException("根据id查看图书失败!");}//查看所有图书@Overridepublic List<Book> getAllBooks(){//获取map中的所有数据Collection<Book> mapBooks = bookDB.values();//强转List<Book> books = new ArrayList<>(mapBooks);return books;}//添加/修改图书@Overridepublic Book addOrUpdateBook(Book book){if (book.getId() != null){//修改//map的key是唯一的,所以map里面有这个key的话,直接把原来的value覆盖掉bookDB.put(book.getId(),book);return book;}else {//新增//为新增的图书设置idbook.setId(nextId);//book添加完之后,这个id才会自增bookDB.put(nextId++,book);return book;}}//根据id删除图书@Overridepublic Book deleteBookById(Integer id){Book book = bookDB.remove(id);return book;}
}
http://www.yidumall.com/news/63381.html

相关文章:

  • 聊城做网站的公司seo服务公司怎么收费
  • 好网站开发公司网站seo具体怎么做
  • 金华网站制作营销搜易网托管模式的特点
  • 网站服务器 免费网站优化设计的基础是网站基本要素及每个细节的优化
  • 视频拍摄app佛山旺道seo优化
  • .flv 网站播放2345网址导航设为主页
  • 企业网站页头背景图成都自然排名优化
  • 外贸公司如何寻找客户专业网站seo推广
  • 临沂网站排名中国十大经典广告
  • 百度搜索 网站介绍百度免费推广有哪些方式
  • 怎么建手机网站平台seo外链推广
  • 做信息类网站seo培训优化课程
  • 网站建设费用初步预算百度提交
  • 做网站前怎么建立数据结构游戏加盟
  • 建设快照网站百度搜题在线使用
  • 萧山网络公司潍坊网站建设优化
  • 呼和浩特网站建设小程序重庆seo团队
  • 网站开发哪里接业务论文关键词
  • wordpress修改版面seo优化网页
  • 网站资料库建设的功能需求重庆seo排名外包
  • 建设一个和聚享游差不多的网站英文seo实战派
  • html5网站欣赏 国内网店代运营一年的费用是多少
  • 便宜的做网站公司线下推广方式有哪些
  • wordpress 文章状态seo排名平台
  • 微信营销方案无锡seo网站排名
  • wordpress技巧:开启wordpress多站点功能东莞网站建设公司排名
  • 网站建设在哪学信息流优化师发展前景
  • 广东和深圳的关系优化加速
  • 龙岗做网站建设关键词排名优化公司哪家强
  • 北京朝阳区邮编seo公司官网