Spring Boot Rest常用框架注解详情简介
Spring Boot Rest常用框架注解详情简介
目录开始Spring Boot Rest的先决条件在Spring Initializer创建Spring Boot项目Spring Boot注解@RestController@RequestMapping@RequestParam@PathVariable@RequestBodyREST方法的特定注释@GetMapping@PostMapping和@PutMapping@DeleteMapping
前言:
让我们了解一下Spring Boot Rest框架注释。它是如此简单和快速。在本文中,我将尝试解释Spring Boot Rest API的不同注释。这些注释是Spring Boot中REST API所必需的。
开始Spring Boot Rest的先决条件
最需要了解的是Spring容器或IOC。除此之外,还必须具备java注释的基本知识。因为Spring Boot应用程序充满了注释。最后但并非最不重要的一点是,应该澄清REST的概念,至少是基本概念。例如GET、POST、PUT、DELETE和Request body和response、headers等。
在Spring Initializer创建Spring Boot项目
Spring Boot最棒的一点是它有一个web应用程序用于入门。只需点击几个表单字段和按钮,就可以准备好初学者文件。这包括pom。包含所有必需依赖项的xml。只需转到Spring Initializer:https://start.spring.io/。如下面的屏幕截XBTgQSuv图所示,填写适当的数据。然后单击右上角的添加依赖项按钮。键入并选择Web。我还将为log和Pojo添加Lombok。
完成后,只需单击generate按钮,就会-一个包含这些文件的zip文件(pom.xml)。将其解压缩并在IDE中打开。我将使用IntelliJ IDEA。这个IDE帮助我利用各种功能提高工作效率。
Spring Boot注解
整个Spring Boot都依赖于注释。对于不同的需求和过程,有各种注释。其余部分有4-5个主要注释。让我们一个接一个地看它们,并将它们应用到我们的示例中。
@RestController
类上使用了@RestController注释。它将类定义为Rest的控制器。这是一个RESTful版本的控制器,添加了ResponseBy的组合。这样,您的响应就会自动转换为jsON、XML或任何已定义的响应类型,而无需单独使用ResponseBy注释。
@RestController
public class ArticleRestController {}
其余的注释在@RestController类下使用。
@RequestMapping
用于将特定端点映射到函数或方法。这有助于定义端点的路径、方法、响应类型、请求类型等。
@RequestMapping(value = "/articles", method = RequestMethod.GET, produces = "application/json")
public List
在上面的示例中,值表示它映射到的路径。例如,localhost:8080/articles。方法类型是GET,它生成“application/json”作为响应(不过,这是默认值,您可以跳过它)。
@RequestParam
URL中的查询参数,即?key=value&key1=value1由@RequestParam注释获取。这用于函数的参数。它有各种选项,如required、defaultValue等。然后将查询参数加载到指定的参数中。
@RequestMapping(value = "/article", method = RequestMethod.GET)
public Article getArticleByName(
@RequestParam(value = "articleName", required = true) String articleName
) {}
在上面的例子中,如果我们调用URL GET localhost/article?articleName=springboot,将在articleName参数中加载“springboot”。我已经把reuired=true,所以如果我们不传递articleName,它将向用户抛出一个错误。
@PathVariable
有没有想过,在不传递查询参数的情况下,服务器如何知道要加载哪篇文章?看看这篇文章的网址 post URL不包含查询参数,而是一个普通的斜杠分隔字符串。服务器在PathVariable的帮助下读取它,它看起来是这样的,/article/{articleslaug}。替换{articleSlug}的任何字符串都将被视为PathVariable。
@RequestMapping(value = "/article/{articleSlug}", method = RequestMethod.GET)
public Article getArticle(@PathVariable("articleSlug") String articleSlug) {}
请记住,{articleSlug}在RequestMapping和PathVariable中应该是相同的(没有{})。如果不匹配,则无法加载。
@RequestBody
对于POST或PUT方法,您不会通过URL获取所有数据,对吗?这些方法有一个适当的请求主体。RequestBody注释有助于将给定的请求正文自动映射到参数。主要是JSON到POJO。
@RequestMapping(value = "/article", method = RequestMethod.POST)
public Article createArticle(@RequestBody NewArticlePojo newArticle){}
请求主体将自动映射到NewArticlePojo类,并基于键填充字段。
REST方法的特定注释
在上面的解释中,您一定已经看到我使用特定的方法编写了RequestMapping。但这太多余了。为了解决这个问题,Spring Boot提供了预定义的方法映射。这些只是@RequestMapping的扩展。
@GetMapping
@GetMahttp://pping用于将RequestMapping替换为method=RequestMethod。获取参数。现在通过查看,我们知道这是一个GET请求。
@PostMapping和@PutMapping
PostMapping是用method=RequestMethod替换RequestMapping。类似地,PutMapping将用method=RequestMethod替换RequestMethod.PUT
@DeleteMapping
DeleteMapping用method=RequestMethod替换RequestMethod.DELETE
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~