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

公司做网络宣传哪个网站比较好谷歌搜索引擎镜像入口

公司做网络宣传哪个网站比较好,谷歌搜索引擎镜像入口,it培训班大概需要多少钱,自己在网上怎么做网站在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的系统,Web开发在这几年也是经历了很快的发展,前端也显得越来越重要,现在很多大一点的公司都实行前后端分…

在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的系统,Web开发在这几年也是经历了很快的发展,前端也显得越来越重要,现在很多大一点的公司都实行前后端分离,让后端和前端只专注于自己的事,所谓术业有专攻,我个人也非常建议前后端分离。

既然前后端分离了,那么后端肯定需要提供Web Api接口给到前端,并返回前端需要的数据。

在Spring Boot中,开发Web Api接口主要使用以下几个注解:

  • @Controller
  • @ResponseBody
  • @RestController
  • @RequestMapping
  • @PathVariable

其实,这些注解在Spring MVC里都有了,所以Spring Boot里的用法也和Spring MVC里基本一样。

在Spring Boot之所以能使用,是因为在spring-boot-starter-web 这个starter pom中,已经引用了spring-web和spring-webmvc。

接下来,我们通过具体例子来讲解下各个注解的使用方法。

1.@Controller

新建控制器HelloController,添加@Controller注解,添加1个方法sayHello,添加@RequestMapping注解,代码如下:

package com.zwwhnly.springbootdemo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class HelloController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "hello";}
}
复制代码

运行项目,在浏览器输入http://localhost:8080/hello访问,发现报如下错误:

报错的原因是未找到对应的模板,那么如何解决呢?

我们先讲解下第一种解决方法,添加下thymeleaf模板,首先修改pom文件,添加如下配置:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
复制代码

如果没有设置自动导入maven包的话,IDEA右下角会提示你导入,点击“Import Changes”。

然后在resources/templates目录下,新建hello.html文件(内容先随便写),再次运行项目,访问http://localhost:8080/hello,发现访问正常:

2.@ResponseBody

还有一种更简单的方法是在控制器上添加@ResponseBody注解:

package com.zwwhnly.springbootdemo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@ResponseBody
public class HelloController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "hello";}
}
复制代码

此时的运行结果(直接返回字符串):

hello

3.@RestController

@RestController是Spring4.0推出的组合注解,相当于@Controller+@ResponseBody,我们看下它的源码,也能看出:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {@AliasFor(annotation = Controller.class)String value() default "";
}
复制代码

此时我们就可以将代码简化为:

@RestController
public class HelloController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "hello";}
}
复制代码

4.@RequestMapping

@RequestMapping注解主要用来配置url映射,既可以添加到控制器上,也可以添加到控制器下的方法上,添加到方法上是对添加到控制器上的补充,举例说明:

新建图书类Book:

package com.zwwhnly.springbootdemo.model;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Book {private Integer bookId;private String bookName;private String bookAuthor;private Date purchaseDate;public Book(Integer bookId, String bookName, String bookAuthor, String purchaseDate) throws ParseException {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");this.bookId = bookId;this.bookName = bookName;this.bookAuthor = bookAuthor;this.purchaseDate = simpleDateFormat.parse(purchaseDate);}public Integer getBookId() {return bookId;}public void setBookId(Integer bookId) {this.bookId = bookId;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getBookAuthor() {return bookAuthor;}public void setBookAuthor(String bookAuthor) {this.bookAuthor = bookAuthor;}public Date getPurchaseDate() {return purchaseDate;}public void setPurchaseDate(Date purchaseDate) {this.purchaseDate = purchaseDate;}
}
复制代码

在HelloController中添加方法getBookList:

@RequestMapping(value = "/getBookList", method = RequestMethod.GET)
public List<Book> getBookList() {List<Book> books = new ArrayList<>();try {Book book1 = new Book(1, "平凡的世界", "路遥", "2010-01-01");Book book2 = new Book(2, "人生", "路遥", "2011-01-01");books.add(book1);books.add(book2);} catch (ParseException e) {e.printStackTrace();}return books;
}
复制代码

运行项目在浏览器输入http://localhost:8080/getBookList,结果为:

// 20190424140621
// http://localhost:8080/getBookList[{"bookId": 1,"bookName": "平凡的世界","bookAuthor": "路遥","purchaseDate": "2009-12-31 16:00:00"},{"bookId": 2,"bookName": "人生","bookAuthor": "路遥","purchaseDate": "2010-12-31 16:00:00"}
]
复制代码

然后我们在HelloController上也加上@RequestMapping注解:

package com.zwwhnly.springbootdemo.controller;import com.zwwhnly.springbootdemo.model.Book;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;@RestController
@RequestMapping(value = "hello")
public class HelloController {@RequestMapping(value = "/hello", method = RequestMethod.GET)public String sayHello() {return "hello";}@RequestMapping(value = "/getBookList", method = RequestMethod.GET)public List<Book> getBookList() {List<Book> books = new ArrayList<>();try {Book book1 = new Book(1, "平凡的世界", "路遥", "2010-01-01");Book book2 = new Book(2, "人生", "路遥", "2011-01-01");books.add(book1);books.add(book2);} catch (ParseException e) {e.printStackTrace();}return books;}
}复制代码

此时两个方法的访问地址就分别变为了:http://localhost:8080/hello/hello,http://localhost:8080/hello/getBookList。

5.@PathVariable

@PathVariable注解用来获取url中的数据,以下为具体的使用方法,

在HelloController控制器中添加方法getBook,通过占位符传递bookId:

@RequestMapping(value = "/getBook/{bookId}", method = RequestMethod.GET)
public Book getBook(@PathVariable Integer bookId) {Book book = null;List<Book> books = new ArrayList<>();try {Book book1 = new Book(1, "平凡的世界", "路遥", "2010-01-01");Book book2 = new Book(2, "人生", "路遥", "2011-01-01");books.add(book1);books.add(book2);book = books.get(bookId - 1);} catch (ParseException e) {e.printStackTrace();}return book;
}
复制代码

运行项目,在浏览器中访问http://localhost:8080/hello/getBook/1,结果如下:

// 20190424145348
// http://localhost:8080/hello/getBook/1{"bookId": 1,"bookName": "平凡的世界","bookAuthor": "路遥","purchaseDate": "2009-12-31 16:00:00"
}
复制代码

注意:占位符里的名称必须和参数名完全一致,区分大小写,否则访问会报500错误。

如果想不一致,可以写成如下方式:

@RequestMapping(value = "/getBook/{bookId}", method = RequestMethod.GET)
public Book getBook(@PathVariable("bookId") Integer bookIndex) {......
}
复制代码

这种方式也要求,PathVariable的value属性值必须与占位符里的名称完全一致。

好了,本篇文章就先讲解这么多,其它注解后续再单独发布文章讲解。

6.源码地址

原文地址:Spring Boot入门(四):开发Web Api接口常用注解总结

博客地址:www.zwwhnly.com

源码地址:github.com/zwwhnly/spr…

欢迎大家下载,有问题可以多多交流。

7.参考链接

用Spring Boot开发一个web API 接口返回数据

SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

转载于:https://juejin.im/post/5cc00e77f265da038733a2ae

http://www.lbrq.cn/news/2636659.html

相关文章:

  • 阿里云服务器的网站备案查询网站备案信息
  • wap微信网站模板百度贴吧官网首页
  • 做类似起点的网站电销系统软件排名
  • 团员登录系统智慧团建百度seo公司哪家好一点
  • 石家庄做网站哪家好seo网站推广简历
  • 有什么网站可以免费建站免费建网站搜狗网站收录提交入口
  • 南宁企业做网站百度一下首页极简版
  • 西安外贸网站开发seop
  • 网站运营推广难做吗搜索引擎营销案例有哪些
  • 如何网站后台清理缓存广告营销顾问
  • 徐州专门做网站解析域名网站
  • 网站域名使用怎么做待摊分录北京网站推广排名服务
  • 做设计应该看哪些网站网络营销师证书怎么考
  • 国外做西餐的网站电脑培训班一般多少钱
  • 上海做手机网站建设武汉seo首页
  • 做网站怎么申请域名河南郑州网站推广优化
  • 网站建设费用构成百度app免费下载
  • 网站标准字体样成都百度seo推广
  • 网站只做静态页面安全受到影响关键词提取
  • 南昌网站小程序开发安徽网站建设优化推广
  • 创建网站商城企业网站建设方案范文
  • 牛b插网站建设百度seo公司一路火
  • 网站栏目名seo免费课程
  • 网站设计一个月多少钱做网站建网站公司
  • 做b2b网站有没有用怎么自己做网页
  • 广州手机建设网站网络公司经营范围
  • 定兴网站建设2023年7月最新疫情
  • 检索网站怎么做小程序平台
  • 来宾市住房和城乡建设局网站北京seo方法
  • 企业免费建站是真的吗申请自己的网站
  • 8、Redis的HyperLogLog、事务Multi、管道Pipeline,以及Redis7.0特性
  • Docker可用镜像(长期免费)
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的微商产品经营策略研究
  • 8.6笔记
  • 一文搞定JavaServerPages基础,从0开始写一个登录与人数统计页面
  • Redis类型之String