iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用spring注解开发一个RESTful接口
  • 565
分享到

怎么用spring注解开发一个RESTful接口

2023-06-29 13:06:39 565人浏览 独家记忆
摘要

本篇内容主要讲解“怎么用spring注解开发一个RESTful接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用spring注解开发一个RESTful接口”吧!一、开发REST接口在本专栏

本篇内容主要讲解“怎么用spring注解开发一个RESTful接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用spring注解开发一个RESTful接口”吧!

    一、开发REST接口

    在本专栏之前的章节中已经给大家介绍了

    Spring常用注解及Http数据转换教程

    Spring Boot提高开发效率必备工具lombok使用

    Spring Boot开发RESTful接口与http协议状态表述

    本节内容就是将之前学到的内容以代码的方式体现出来。

    1. 第一步:定义资源(对象)

    @Data@Builderpublic class Article {    private Long  id;    private String author;    private String title;    private String content;    private Date createTime;    private List<Reader> reader;}
    @Datapublic class Reader {  private String name;  private Integer age;}

    Data、Builder都是lombok提供给我们的注解,有利于我们简化代码。可以参考本专栏之前章节对lombok进行学习。

    @Builder为我们提供了通过对象属性的链式赋值构建对象的方法,下文中代码会有详细介绍。

    @Data注解帮我们定义了一系列常用方法,如:getters、setters、hashcode、equals等

    2.第二步:HTTP方法与Controller(动作)

    我们实现一个简单的RESTful接口

    • 增加一篇Article ,使用POST方法

    • 删除一篇Article,使用DELETE方法,参数是id

    • 更新一篇Article,使用PUT方法,以id为主键进行更新

    • 获取一篇Article,使用GET方法

    下面代码中并未真正的进行数据库操作,本专栏后面会讲解mybatis和JPA,届时会做补充。

    @Slf4j@RestController@RequestMapping("/rest")public class ArticleController {  //获取一篇Article,使用GET方法,根据id查询一篇文章  //@RequestMapping(value = "/articles/{id}",method = RequestMethod.GET)  @GetMapping("/articles/{id}")  public ajaxResponse getArticle(@PathVariable("id") Long id){    //使用lombok提供的builder构建对象    Article article = Article.builder()            .id(id)            .author("zimug")            .content("spring boot 从青铜到王者")            .createTime(new Date())            .title("t1").build();    log.info("article:" + article);    return AjaxResponse.success(article);  }  //增加一篇Article ,使用POST方法(RequestBody方式接收参数)  //@RequestMapping(value = "/articles",method = RequestMethod.POST)  @PostMapping("/articles")  public AjaxResponse saveArticle(@RequestBody Article article,                                  @RequestHeader String aaa){    //因为使用了lombok的Slf4j注解,这里可以直接使用log变量打印日志    log.info("saveArticle:" + article);    return AjaxResponse.success();  }  //增加一篇Article ,使用POST方法(RequestParam方式接收参数)    //更新一篇Article,使用PUT方法,以id为主键进行更新  //@RequestMapping(value = "/articles",method = RequestMethod.PUT)  @PutMapping("/articles")  public AjaxResponse updateArticle(@RequestBody Article article){    if(article.getId() == null){      //article.id是必传参数,因为通常根据id去修改数据      //TODO 抛出一个自定义的异常    }    log.info("updateArticle:" + article);    return AjaxResponse.success();  }  //删除一篇Article,使用DELETE方法,参数是id  //@RequestMapping(value = "/articles/{id}",method = RequestMethod.DELETE)  @DeleteMapping("/articles/{id}")  public AjaxResponse deleteArticle(@PathVariable("id") Long id){    log.info("deleteArticle:" + id);    return AjaxResponse.success();  }}

    因为使用了lombok的@Slf4j注解(类的定义处),就可以直接使用log变量打印日志。不需要写下面的这行代码。

    private static final Logger log = LoggerFactory.getLogger(HelloController.class);

    二、统一规范接口响应的数据格式

    下面这个类是用于统一数据响应接口标准的。它的作用是:统一所有开发人员响应前端请求的返回结果格式,减少前后端开发人员沟通成本,是一种RESTful接口标准化的开发约定。下面代码只对请求成功的情况进行封装,在后续的异常处理相关的章节会做更加详细的说明。

    @Datapublic class AjaxResponse {  private boolean isok;  //请求是否处理成功  private int code; //请求响应状态码(200、400、500)  private String message;  //请求结果描述信息  private Object data; //请求结果数据(通常用于查询操作)  private AjaxResponse(){}  //请求成功的响应,不带查询数据(用于删除、修改、新增接口)  public static AjaxResponse success(){    AjaxResponse ajaxResponse = new AjaxResponse();    ajaxResponse.setIsok(true);    ajaxResponse.setCode(200);    ajaxResponse.setMessage("请求响应成功!");    return ajaxResponse;  }  //请求成功的响应,带有查询数据(用于数据查询接口)  public static AjaxResponse success(Object obj){    AjaxResponse ajaxResponse = new AjaxResponse();    ajaxResponse.setIsok(true);    ajaxResponse.setCode(200);    ajaxResponse.setMessage("请求响应成功!");    ajaxResponse.setData(obj);    return ajaxResponse;  }  //请求成功的响应,带有查询数据(用于数据查询接口)  public static AjaxResponse success(Object obj,String message){    AjaxResponse ajaxResponse = new AjaxResponse();    ajaxResponse.setIsok(true);    ajaxResponse.setCode(200);    ajaxResponse.setMessage(message);    ajaxResponse.setData(obj);    return ajaxResponse;  }}

    到此,相信大家对“怎么用spring注解开发一个RESTful接口”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: 怎么用spring注解开发一个RESTful接口

    本文链接: https://www.lsjlt.com/news/325030.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 怎么用spring注解开发一个RESTful接口
      本篇内容主要讲解“怎么用spring注解开发一个RESTful接口”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用spring注解开发一个RESTful接口”吧!一、开发REST接口在本专栏...
      99+
      2023-06-29
    • spring常用注解开发一个RESTful接口示例
      目录一、开发REST接口第一步:定义资源(对象)第二步:HTTP方法与Controller(动作)二、统一规范接口响应的数据格式一、开发REST接口 在本专栏之前的章节中已经给大家介...
      99+
      2024-04-02
    • Spring Boot开发RESTful接口与http协议状态表述
      目录一、RESTful风格API的好处二、RESTful API的设计风格2.1、RESTful是面向资源的(名词)2.2、用HTTP方法体现对资源的操作(动词)2.3. HTTP状...
      99+
      2024-04-02
    • MyEclipse开发一个webservice接口
      一直以来对于接口这个东西都很好奇,各种客户也一直在说那个什么什么数据我们提供给你们一个接口就好了,结果还是不是很明白.于是乎就有了下面的小故事,接下来我们就进入正文吧---大概可以分为这样的步骤新建webservice project,Fr...
      99+
      2023-05-31
      myeclipse webservice 接口
    • 一篇文章带你搞懂Java restful 接口开发
      目录1、RESTful 简介a>资源b>资源的表述c>状态转移2、RESTful 的实现3、HiddenHttpMethodFilter4、RESTful 案例4....
      99+
      2024-04-02
    • Spring Boot开发RESTful接口与http协议状态的方法
      这篇文章主要介绍“Spring Boot开发RESTful接口与http协议状态的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Boot开发RESTful接口与...
      99+
      2023-06-29
    • 详解使用Spring Boot开发Restful程序
      一、简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发...
      99+
      2023-05-31
      spring boot restful
    • spring注解识别一个接口的多个实现类方法
      1.比如有一个接口如下:public interface Filter { public String doFilter(String param); }...
      99+
      2023-05-31
      spring 注解 接口
    • java怎么调用restful接口
      Java可以使用多种方式调用RESTful接口,以下是其中几种常见的方法:1. 使用Java原生的HttpURLConnection...
      99+
      2023-09-15
      java
    • springboot怎么调用restful接口
      要调用RESTful接口,可以使用Spring Boot的内置RestTemplate或者使用Feign客户端。使用RestTemp...
      99+
      2023-10-08
      springboot
    • 使用注解怎么实现一个SpringBoot 接口防刷功能
      这篇文章将为大家详细讲解有关使用注解怎么实现一个SpringBoot 接口防刷功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。项目结构如下:一、编写注解类 AccessLimitpacka...
      99+
      2023-06-06
    • 如何使用注解开发spring
      本篇文章为大家展示了如何使用注解开发spring,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Spring4之后,要使用注解开发,必须要保证aop的包导入了。使用注解需要导入context约束,增...
      99+
      2023-06-15
    • 在Kotlin中使用Spring Boot怎么实现一个RESTful服务
      今天就跟大家聊聊有关在Kotlin中使用Spring Boot怎么实现一个RESTful服务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Spring太复杂了,配置这个东西简直就是浪...
      99+
      2023-05-31
      kotlin spring boot restful
    • 怎么用springboot写一个接口
      要使用Spring Boot编写一个接口,可以按照以下步骤进行操作:1. 创建一个Spring Boot项目:可以使用Spring ...
      99+
      2023-10-08
      springboot
    • 怎么在spring中实现一个aop注解
      今天就跟大家聊聊有关怎么在spring中实现一个aop注解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。注解方式实现aop我们主要分为如下几个步骤:  1.在切面类(为切点服务的类)...
      99+
      2023-05-31
      spring aop
    • Java Spring的使用注解开发详解
      目录使用注解开发1.bean2.属性如何注入3.衍生的注解4.自动装配5.作用域6.小结代码show1.新建一个模块:2.新建pojo包及类3.新建dao包及类4.新建service...
      99+
      2024-04-02
    • 怎么用Resty restful框架快速接入Spring
      这篇文章主要介绍“怎么用Resty restful框架快速接入Spring”,在日常操作中,相信很多人在怎么用Resty restful框架快速接入Spring问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
      99+
      2023-06-29
    • Spring详解使用注解开发流程
      目录在Spring4之后 要使用注解开发 必须保证aop包导入了 使用注解需要导入context约束 增加 注解的支持 <xml version="1.0" encoding...
      99+
      2024-04-02
    • 详解spring如何使用注解开发
      在Spring4之后,要使用注解开发,必须要保证aop的包导入了。 使用注解需要导入context约束,增加注解的支持。 <?xml version="1.0" ...
      99+
      2024-04-02
    • Spring使用注解开发的方法
      这篇文章主要介绍了Spring使用注解开发的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring使用注解开发的方法文章都会有所收获,下面我们一起来看看吧。在Spring4之后 要使用注解开发 必须保证...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作