Spring Boot Rest常用框架注解详情简介
前言:
让我们了解一下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/
。如下面的屏幕截图所示,填写适当的数据。然后单击右上角的添加依赖项按钮。键入并选择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<Article> getArticles() { }
在上面的示例中,值表示它映射到的路径。例如,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
@GetMapping
用于将RequestMapping
替换为method=RequestMethod
。获取参数。现在通过查看,我们知道这是一个GET请求。
@PostMapping和@PutMapping
PostMapping
是用method=RequestMethod
替换RequestMapping
。类似地,PutMapping
将用method=RequestMethod
替换RequestMethod.PUT
@DeleteMapping
DeleteMapping用method=RequestMethod
替换RequestMethod.DELETE
到此这篇关于Spring Boot Rest常用框架注解详情简介的文章就介绍到这了,更多相关Spring Boot Rest解内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章