java怎么写接口,java开发api接口教程

news2024/10/1 19:41:54

在大家的工作中,经常写界面。 而且,最常用的是http接口。 但是,对于初学者Java工作人员来说,写http界面还很难。 那么,用实例来说明吧。

一、建设项目

首先,生成SpringBoot项目。 省略如何构建此处,并引入相关依赖关系:

org.springframework.boot

artifactIdspring-boot-starter

/从属

从属关系

org.projectlombok

artifactIdlombok

可选真

/从属

从属关系

org.springframework.boot

artifactidspring-boot-starter-test

scopetest

/从属

从属关系

org.spring帧work.boot

artifactidspring-boot-starter-web

/从属

二.写共同的结果对象

一个接口的返回信息必须至少包含以下内容:

1、结果代码

2、结果信息

3、返回数据

因此,创建一个新类来记录返回的结果集Result :@Data

@AllArgsConstructor

@NoArgsConstructor

公共类结果

{

私密int代码;

隐私消息;

私有对象数据;

}

其中,结果代码和结果信息需要统一,这里枚举类型最优,新建枚举类responsecodepublicenumresponsecode

{

//系统模块

success(0,“操作成功”

、错误(1、“操作失败”) ) )。

、server_error(500、“服务器异常”)、

//通用模块1xxxx

illegal_argument(10000,参数无效

、repetitive_operation((10001,'不要重复操作') ) ) )。

、access_limit(10002,“请求频繁。 请稍后再试"

、mail_send_success(10003、“邮件发送成功”)、

//用户模块2xxxx

NEED_login(20001,“已禁用登录”() ) ) ) ) ) ) ) ) )。

、username _ or _ password _ empty (20002,'用户名或密码不能为空') ) ) ) )。

、username _ or _ password _ wrong (20003,“用户名或密码错误”

、user_not_exists(20004,'用户不存在') ) ) )。

、Wrong_password(20005,“密码错误”

响应代码(integer代码,字符串msg ) )。

{

this.code=代码;

this.msg=msg;

}

隐私保护代码;

隐私保护msg;

publicIntegergetCode (

{

返回代码;

}

publicvoidsetcode (集成代码) )。

{

this.code=代码;

}

公共字符串getmsg (

{

returnmsg;

}

公共语音(字符串msg )。

{

this.msg=msg;

}

}

三.界面创建

上面的两个类可以用作其他项目的公共类。 写接口的时候直接输入代码就可以了。 接下来,写一个界面,测试一下:

新建响应控制器@ rest控制器

publicclassResponseController

{

@ request mapping (value='/get data ',method=RequestMethod.GET ) )。

publicResultgetData (

{

Mapmap=newHashMap (;

map.put('name )、' javayz );

map.put(age,) 23 );

MapchildMap=newHashMap (;

childmap.put(home,)浙江;

childmap.put(job,java );

map.put('childMap ',childmap );

result result=new result (response code.success.getcode )、ResponseCode.SUCCESS.getMsg )、map );

返回结果;

}

}

此示例说明如何从Map集合插入数据,然后最后返回到Result。 调用结果如下。 {

'代码' :0

、“消息' : '操作成功”

、' data':

{

' name':'javayz '

,' childMap':

{

' job':'java '

,' home': '浙江'

}

,' age':'23 '

}

}

除了使用Map传递数据外,还可以通过对象传递数据。 新的两个类是用户和用户详细信息。 @data

@AllArgsConstructor

@NoArgsConstructor

公共类用户

{

隐私名称;

隐私保护代理;

隐私用户数据中心;

}@Data

@AllArgsConstructor

@NoArgsConstructor

publicclassUserDetail

{

私有家庭;

隐私任务;

}

为Get请求创建新接口,并在界面中以对象传递数据@ request mapping (value='/get data2',method=RequestMethod.GET )

publicResultgetData2(

{

userdetailuserdetail=new user detail ('浙江',' java ' );

useruser=newuser('Javayz ',' 23 ',userDetail;

result result=new result (response code.success.getcode )、ResponseCode.SUCCESS.getMsg )、user );

返回结果;

}

调用接口时,返回值如下所示。 {

'代码' :0

、“消息' : '操作成功”

、' data':

{

' name':'javayz '

,' age':'23 '

,'用户详细信息' :

{

'家庭' : '浙江'

,' job':'java '

}

}

}

到目前为止,我们已经共享了java如何编写http接口。 从项目的构建到界面的创建都写得很详细。 大家只要能多次操作就习惯了。 最后,如果想了解更多关于java实例的知识,请​​前往了解​​

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

proteus中仿真arduino驱动模拟器件(蜂鸣器继电器电机)

模拟器件如蜂鸣器、继电器、直流电机等在arduino电路中,如果我们接在数字管脚上来驱动往往可能因为驱动电流不够而达不到预期效果,或者没有动作或者没有动静。这篇博文我们专门来讨论一下如何驱动他们。 文章目录一、典型电路1、蜂蜜器(1)蜂鸣器的种类:(…

tun驱动之write

tun的write执行类型下面的代码 int fd open("/dev/net/tun", O_RDWR) write(fd, buf, len); 首先要明确一点,向tun驱动写的数据,最后会进入网络协议栈,相当于外部的数据通过网卡进入网络协议栈。所以写入tun驱动的数据&#xff0…

LSTM网络:一种强大的时序数据建模工具

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

32位Ubuntu系统安装visual studio code

Step.01 下载vscode安装包 vscode自1.36版本后停止支持32位linux系统&#xff0c;所以要使用<1.36版本。1.33版本下载地址&#xff1a; Visual Studio Code March 2019See what is new in the Visual Studio Code March 2019 Release (1.33)https://code.visualstudio.com…

nvm的使用

nvm工具 nvm是什么nvm下载与安装nvm的基本使用 1、nvm介绍 1.1、基于node的开发 在介绍nvm之前&#xff0c;先介绍下前端开发中关于node的使用。目前前端不管是基于vue或者react框架的开发&#xff0c;都是基于node环境下&#xff0c;进行包的管理与开发的。而不同项目组&a…

work-notes(23):结合typora、git、gitee实现云存储笔记完成的操作过程

时间&#xff1a;2023-03-07 文章目录摘要一、下载 typora二、安装 Git三、创建连接远程仓库四、使用 Git 上传到远程仓库五、到gitee上查看总结摘要 由于很想找一个好用&#xff0c;又有云存储的笔记软件。之前用过 有道笔记&#xff08;还行&#xff0c;量大了难找&#xff…

「MySQL进阶」为什么MySQL用B+树做索引而不用二叉查找树、平衡二叉树、B树

「MySQL进阶」为什么MySQL用B树做索引而不用二叉查找树、平衡二叉树、B树 文章目录「MySQL进阶」为什么MySQL用B树做索引而不用二叉查找树、平衡二叉树、B树一、概述二、二叉查找树三、平衡二叉树四、B树五、B树六、聚集索引和非聚集索引七、利用聚集索引和非聚集索引查找数据利…

剑指 Offer 67 把字符串转换成整数

摘要 面试题67. 把字符串转换成整数 一、字符串解析 根据题意&#xff0c;有以下四种字符需要考虑&#xff1a; 首部空格&#xff1a; 删除之即可&#xff1b;符号位&#xff1a;三种情况&#xff0c;即 , − , 无符号"&#xff1b;新建一个变量保存符号位&#xff0…

螯合剂p-SCN-Bn-TCMC,282097-63-6,双功能配体化合物应用于光学成像应用

p-SCN-Bn-TCMC 反应特点&#xff1a;p-SCN-Bn-TCMC属于双功能配体是螯合剂&#xff0c;也具有共价连接到生物靶向载体&#xff08;如抗体、肽和蛋白质&#xff09;的反应位点。应用于核医学、MRI和光学成像应用。西安凯新生物科技有限公司供应的杂环化合物及其衍生物可制作为具…

消息队列理解

为什么使用消息队列 使⽤消息队列主要是为了&#xff1a; 减少响应所需时间和削峰。降低系统耦合性&#xff08;解耦/提升系统可扩展性&#xff09;。 当我们不使⽤消息队列的时候&#xff0c;所有的⽤户的请求会直接落到服务器&#xff0c;然后通过数据库或者 缓存响应。假…

GPU是什么

近期ChatGPT十分火爆&#xff0c;随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么&#xff1f;GPU&#xff08;英语&#xff1a;Graphics Processing Unit&#xff0c;缩写&#xff1a;GPU&#xff09;是显卡的“大脑”&am…

给比特币“雕花” 增值还是累赘?

比特币网络也能发NFT了&#xff0c;大玩家快速入场。3月6日&#xff0c;Yuga Labs开启了TwelveFold拍卖会&#xff0c;该项目是Yuga Labs在比特币区块链网络上发行的首个NFT合集&#xff0c;内含300个艺术品。 在没有智能合约的比特币网络造NFT&#xff0c;没那么友好。但Web3…

Jmeter+Ant+Jenkins自动化搭建之报告优化

平台简介一个完整的接口自动化测试平台需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter支持接口的测试&#xff0c;Ant支持自动构建&#xff0c;而Jenkins支持持续集成&#xff0c;所以三者组合在一起可以构成一个功能完善的接口自动化测…

概率论与数理统计相关知识

本博客为《概率论与数理统计&#xff0d;&#xff0d;茆诗松&#xff08;第二版&#xff09;》阅读笔记&#xff0c;目的是查漏补缺前置知识数学符号连乘符号&#xff1a;&#xff1b;总和符号&#xff1a;&#xff1b;“任意”符号&#xff1a;∀&#xff1b;“存在”符号&…

IDEA项目中配置Maven镜像源(下载源)

目录前言一、IDEA中Maven的位置二、修改Maven的配置文件2.1 配置文件2.2 修改镜像源三、在IDEA中使配置文件生效四、配置文件和本地仓库迁移前言 在使用IDEA搭建项目的过程中&#xff0c;我们发现框架的jar包下载非常缓慢&#xff0c;这是因为国内访问Maven仓库速度较低&#…

构建GRE隧道打通不同云商的云主机内网

文章目录1. 环境介绍2 GRE隧道搭建2.1 华为云 GRE 隧道安装2.2 阿里云 GRE 隧道安装3. 设置安全组4. 验证GRE隧道4.1 在华为云上 ping 阿里云云主机内网IP4.2 在阿里云上 ping 华为云云主机内网IP5. 总结1. 环境介绍 华为云上有三台云主机&#xff0c;内网 CIDR 是 192.168.0.0…

TensoRT8.4_cuda11.6 sampleOnnxMNIST运行生成

1、版本信息 win10电脑环境&#xff1a; TensorRT:8.4.1.5CUDA: 11.6VS: 2019 环境安装成功后&#xff0c;使用sampleOnnxMNIST测试 2、VS2019环境配置 用vs打开sampleOnnxMNIST项目&#xff0c;位置在 D:\TensorRT-8.4.1.5\samples\sampleOnnxMNIST &#xff08;1&#xf…

创建SpringBoot工程详细步骤

new新建一个项目选择Spring Initializr, 然后配置一下地址, 可以如下图使用阿里云的,(因为国外的Spring官网可能不稳定) 下面这三个地址(选一个)能用的用上就行 https://start.spring.io(默认) https://start.springboot.io https://start.aliyun.com 然后 然后点击Finish…

HarmonyOS/OpenHarmony应用开发-dataUriUtils的使用

模块导入接口详情 dataUriUtils.getId getId(uri: string): number 获取附加到给定uri的路径组件末尾的ID。 参数&#xff1a; 名称 类型 必填 描述 uri string 是 指示要从中获取ID的uri对象。 dataUriUtils.attachId attachId(uri: string, id: number): string …

上班三年,薪资还赶不上应届程序员的一半奖金?

工资的鸿沟&#xff0c;始于社会分工的出现和细化。打工人行走职场&#xff0c;你是否也经历过&#xff1a;卷也卷不赢&#xff0c;躺也躺不平的45人生&#xff01;不同打工人分工提升了社会生产的效率&#xff0c;也加速了社会财富的积累&#xff0c;更提高了人们的收入水平。…