当前位置:

首页 > 编程开发 > Spring Boot Rest常用框架注解有哪些

Spring Boot Rest常用框架注解有哪些

开始SpringBootRest的先决条件最需要了解的是Spring容器或IOC。除此之外,还必须具备Java注释的基本知识。因为SpringBoot应用程序充满了注释。最后但并非最不重要的一点是,应该澄清REST的概念,至少是基本概念。例如GET、POST、PUT、DELETE和Requestbody和response、headers等。在SpringInitializer创建SpringBoot项目SpringBoot最棒的一点是它有一个web应用程序用于入门。只需点击几个表单字段和按钮,就可以准备好

本文目录

    开始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。

    Spring Boot Rest常用框架注解有哪些

    完成后,只需单击generate按钮,就会下载一个包含这些文件的zip文件(pom.xml)。将其解压缩并在IDE中打开。我将使用IntelliJ IDEA。这个IDE帮助我利用各种功能提高工作效率。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
     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

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 rest
    相关文章 更多
    如何在 Rest Assured 中精准验证 HTTP 响应头
    如何在 Rest Assured 中精准验证 HTTP 响应头

    在RestAssured中验证HTTP响应头需分三步:将期望键值对转换为Header对象列表,调用getHeaders().asList()提取实际头,使用Hamcrest断言everyItem(is(in(...)))进行子集校验,推荐子集匹配而非完全相等,确保契约测试准确且可复用,避免响应头顺序依赖,提升测试鲁棒性。

    C#怎么发送HTTP请求 C#如何使用HttpClient调用REST API接口获取数据【网络】
    C#怎么发送HTTP请求 C#如何使用HttpClient调用REST API接口获取数据【网络】

    C#怎么发送HTTP请求 C#如何使用HttpClient调用REST API接口获取数据【网络】 HttpClient 必须复用,不能每次 new 很多开发者踩的第一个坑,就是图省事,在方法里直接 new HttpClient()。这看似方便,实则后患无穷。频繁创建新实例,会导致底层套接字端口来不

    PHP Web 服务开发与 API 设计如何遵循 REST 原则
    PHP Web 服务开发与 API 设计如何遵循 REST 原则

    遵循REST原则进行PHPWeb服务开发和API设计:使用统一接口访问资源。保持无状态,不存储客户端信息。启用缓存以提高性能。分层系统便于客户端和服务器通信。在PHP中使用Slim框架或Laravel框架创建服务。设计API时使用HTTP状态代码、JSON/XML响应格式、RESTfulURL和HATEOAS。通过实战案例演示如何构建符合REST原则的博客API。

    springBoot项目常用目录有哪些
    springBoot项目常用目录有哪些

    springBoot项目常用目录springBoot项目的目录结构及名规范介绍基于SpringBoot开发时的目录结构及命名规范,通过介绍能够为你解决,在实际项目中如何规划目录结构?如何命名目录更规范?各个目录分别代表什么含义?等三个问题。目录说明servicex//项目名|-admin-ui//管理服务前端代码(一般将UI和SERVICE放到一个工程中,便于管理)|-servicex-auth//模块1|-servicex-common//模块2|-servicex-gateway//模块3|-serv

    解析 JAX-RS RESTful Web 服务的关键要素
    解析 JAX-RS RESTful Web 服务的关键要素

    JAX-RS:RESTfulWeb服务的基石JavaapiforRESTfulWEBServices(JAX-RS)是一种Java框架,用于构建符合REST原则的Web服务。它提供了一套注解和接口,使开发人员能够创建高效、可扩展和可维护的Web服务。JAX-RS的优势简化开发:JAX-RS提供了注解驱动的方法,可以显着减少构建RESTfulWeb服务所需的代码量。可扩展性:JAX-RS的模块化设计允许轻松扩展服务,以满足不断增长的要求。可维护性:代码的组织方式使JAX-RS服务易于理解和维护。跨平台:JA

    避免常见的 Java JAX-RS 错误:发现并规避潜在陷阱
    避免常见的 Java JAX-RS 错误:发现并规避潜在陷阱

    1.忽略资源类的注解在JAX-RS中,资源类需要使用@Path注解来指定其URI路径。如果没有此注解,框架将无法识别该类是一个资源类,导致无法访问其方法。示例:@Path("/products")publicclassProductResource{//...}2.忘记提供媒体类型JAX-RS方法需要指定其支持的媒体类型,使用@Produces和@Consumes注解。如果没有指定,框架将无法协商返回或接受的媒体类型。示例:@GET@Produces(MediaType.APPLICATioN_JSON)

    解析SpringBoot和SpringMVC之间的异同
    解析SpringBoot和SpringMVC之间的异同

    解析SpringBoot和SpringMVC之间的异同SpringBoot和SpringMVC是Java领域中非常重要的开发框架。虽然它们都属于Spring框架的一部分,但是在使用和功能上有一些明显的区别。本文将对SpringBoot和SpringMVC进行比较,解析它们之间的异同。首先,让我们来了解一下SpringBoot。SpringBo

    探索SpringCloud和SpringBoot在微服务领域的不同应用方式
    探索SpringCloud和SpringBoot在微服务领域的不同应用方式

    近年来,随着云计算和分布式架构的兴起,微服务架构的应用越来越广泛。而SpringCloud和SpringBoot作为Java开发中的两个重要框架,对于微服务的实现起到了重要的作用。然而,很多人对于它们在微服务领域的不同应用方式还存在一定的疑惑。本文将从不同的角度探索SpringCloud和SpringBoot在微服务中的应用方式。首先,我们来了解一下Spri

    SpringBoot和SpringMVC有何区别?
    SpringBoot和SpringMVC有何区别?

    SpringBoot与SpringMVC的不同之处在哪里?SpringBoot和SpringMVC是两个非常流行的Java开发框架,用于构建Web应用程序。尽管它们经常分别被使用,但它们之间的不同之处也是很明显的。首先,SpringBoot可以被看作是一个Spring框架的扩展或者增强版。它旨在简化Spring应用程序的初始化和配置过程,以帮助开发人

    比较SpringBoot和SpringMVC的异同
    比较SpringBoot和SpringMVC的异同

    SpringBoot和SpringMVC都是Java开发中常用的框架,但它们之间有一些明显的差异。本文将探究这两个框架的特点和用途,并对它们的差异进行比较。首先,我们来了解一下SpringBoot。SpringBoot是由Pivotal团队开发的,它旨在简化基于Spring框架的应用程序的创建和部署。它提供了一种快速、轻量级的方式来构建独立的、可执行

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。