A Restful API
SpringBoot 定义Restful API
- 定义POJO
- Order
- Buyer
- 定义RestfulController
- Get API for query
- Post API for add
- Put API for update
- Delete API for delete
- 定义AjaxResponse
@Patavariable @RequestParm @RequestBody@RequestHeader
定义POJO
Order
import java.util.Date;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;@Data
@Slf4j
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Order {public long orderID;public String orderName;public String des;public Date time;public List<Buyer> buyer;
}
Buyer
import lombok.Data;
@Data
public class Buyer {public String ID;public String name;
}
定义RestfulController
Get API for query
//@RequestMapping(value="/order/{id}",method=RequestMethod.GET)@GetMapping("/order/{id}")public AjaxResponse getOrder(@PathVariable("id") Long id,@RequestHeader String auth) {log.info("running get car here by " + id +" auth:"+auth);Order order = Order.builder().orderID(id).orderName("TSL").des("Eloon Mask is a superman").build();return AjaxResponse.success(order,"the car belonged");}
running get car here by 1 auth:certification

Post API for add
@PostMapping("/order")public AjaxResponse saveOrder(@RequestBody Order order) {log.info("Oder:" + order);return AjaxResponse.success(order);}
// or
// public AjaxResponse saveOrder(@RequestParam long orderID,
// @RequestParam String orderName,
// @RequestParam String des,
// @DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss")
// @RequestParam Date time)
// {
// log.info("Order time:" + time);
// return AjaxResponse.success(orderID);
// }

Put API for update
@PutMapping("/order")public AjaxResponse updateOrder(@RequestBody Order order) {log.info("Order:"+order);if(order.getOrderID()==0) {return AjaxResponse.parameterError(order, "OrderID should be fill in");}return AjaxResponse.success();}

Delete API for delete
@DeleteMapping("/order/{id}")public AjaxResponse DeleteOrder(@PathVariable Long id) {log.info("Running deleteOrder ID:"+id);if(id == null) {AjaxResponse.parameterError(id, "ID should be fill in");}return AjaxResponse.success();}

定义AjaxResponse
package com.book.springtest;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AjaxResponse {private boolean isOK;private int code;// 200,400,404,500private String message;private Object data;public static AjaxResponse success() {AjaxResponse ajaxResponse = new AjaxResponse();ajaxResponse.setOK(true);ajaxResponse.setCode(200);ajaxResponse.setMessage("This is normal");return ajaxResponse;}public static AjaxResponse success(Object obj) {AjaxResponse ajaxResponse = new AjaxResponse();ajaxResponse.setOK(true);ajaxResponse.setCode(200);ajaxResponse.setMessage("This is normal");ajaxResponse.setData(obj);return ajaxResponse;}public static AjaxResponse success(Object obj,String message) {AjaxResponse ajaxResponse = new AjaxResponse();ajaxResponse.setOK(true);ajaxResponse.setCode(200);ajaxResponse.setMessage(message);ajaxResponse.setData(obj);return ajaxResponse;}public static AjaxResponse parameterError(Object obj,String message) {AjaxResponse ajaxResponse = new AjaxResponse();ajaxResponse.setOK(false);ajaxResponse.setCode(400);ajaxResponse.setMessage(message);ajaxResponse.setData(obj);return ajaxResponse;}
}
相关文章:
A Restful API
SpringBoot 定义Restful API 定义POJOOrderBuyer 定义RestfulControllerGet API for queryPost API for addPut API for updateDelete API for delete 定义AjaxResponse Patavariable RequestParm RequestBodyRequestHeader 定义POJO Order import java.util.Date; import ja…...
从零开始学习JSP,让你全面掌握Web开发技能
JSP(Java Server Pages),是一种动态网页技术,它允许开发者使用Java代码和HTML标签来创建网页。在这篇文章中,我们将详细介绍JSP的基本概念、语法和应用。 一、JSP的基本概念 1.1 JSP的含义 JSP是一种网页技术&#…...
java基于知识库的中医药问询系统
本系统主要包含了等系统用户管理、中医药常识管理、科室信息管理、知识库管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。 管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块:用户登录本系统,对个…...
【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。
一、什么是ARP ARP(地址解析协议)英文全称“Address Resolution Protocol”,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确…...
自动驾驶行业观察之2023上海车展-----车企发展趋势(2)
自主品牌发展 比亚迪:展示3款新车,均于2023年年内上市 比亚迪在本次展会上推出了3款新车:宋L概念车(王朝系列)、驱逐舰07(海洋系列)、海鸥(海洋系列)。 • 宋L&#x…...
通知所有员工所需的时间
题目描述 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中,每个员工都有一个直属负责人,其中 manager[i] 是第 i 名员工的直属负责人。对于总负责…...
Docker:bash: vim: command not found
进入docker容器 docker exec -it [容器ID] /bin/bash docker exec -it e56e7bbe85ad /bin/bash 在使用 Docker 容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是…...
排序算法之选择排序
选择排序(Selection Sort)是一种简单直观的排序算法,其基本思路是在未排序的数据序列中找到最小元素,将其放在已排序的数据序列的末尾。重复该过程,直到整个序列排序完成。 具体实现过程如下: 首先&#x…...
5_服务编排_docker-compose
服务编排之Docker Compose 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大。 要从Dockerfile build image 或者去dockerhub拉取image 要创建多个container 要…...
Java基本数据类型以及包装类型的常量池技术
Java 中的基本数据类型 Java 中有 8 种基本数据类型,分别为: 6 种数字类型: 4 种整数型:byte、short、int、long2 种浮点型:float、double 1 种字符类型:char1 种布尔型:boolean。 这 8 种基本…...
P1054 [NOIP2005 提高组] 等价表达式
题目描述 明明进了中学之后,学到了代数表达式。有一天,他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式…...
什么牌子蓝牙耳机好用不贵?国产性价比高的蓝牙耳机推荐
相较于有线耳机,无线蓝牙耳机更便携、功能更丰富,不用受到耳机孔与线的限制。那么,什么牌子的蓝牙耳机好用不贵?针对这个问题,我给大家推荐几款国产性价比高的蓝牙耳机,可以当个参考。 一、南卡小音舱Lite…...
明明花钱上了ERP,为什么还要我装个MES系统
目前, ERP系统依旧是很多制造企业的选择。据统计,ERP系统的应用已经达到70%以上,但是在车间的应用, MES系统的应用比例并不高。那么,为什么现在很多企业又都选择再上个MES呢? MES系统是一个面向…...
JAVA中的集合框架有哪些?
在Java中,集合(Collection)是一组对象的容器,而集合框架(Collection Framework)是一组接口、实现类和算法,用于存储和操作集合。Java集合框架提供了一组通用的、高性能的、可扩展的接口和类&…...
用Jmeter进行接口自动化测试的工作流程你知道吗?
目录 测试流程 接口测试相关文档管理规范 接口测试要点 测试流程 在测试负责人接受到测试任务后,应该按照以下流程规范完成测试工作。 2.1 测试需求分析 产品开发负责人在完成某产品功能的接口文档编写后,在核对无误后下发给对应的接口测试负责人…...
Java 中的设计模式有哪些?(十九)
Java设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计模式可以帮助我们解决软件开发过程中面临的一般问题,提高代码的可读性、可复用性和可扩展性。 Java中一般认为有23种设计模式,总体来说设计模式分为三大类&…...
奇数单增序列
题目描述 给定一个长度为 N(不大于 500)的正整数序列,请将其中的所有奇数取出,并按升序输出。 输入格式 第 1 行为 N;第 2 行为 N 个正整数,其间用空格间隔。 输出格式 增序输出的奇数序列,…...
Seata介绍
介绍: Seata的设计目标是对这个业务无侵入,因此从业务无侵入的2PC方案开始的,在传统的2PC的基础上演进的。它把一个分布式事务拆分理解成一个包含了若干分支事务的全局事务。全局事务的职责是协调其下管辖的分支事务达成一致性,要…...
VK Cup 2017 - Round 1 A - Bear and Friendship Condition(并查集维护大小 + dfs 遍历图统计边数)
题目大意: 给你一些n个点m条边,如果三个点(a,b,c)是合法的,当且仅当 a-b,b-c,c-a都有一条边,问你这个图是否合法,如果有一个或两个点视为合法 思路 考虑什么图才是个合法图:除了点…...
为UOS启用VNC和Windows远程桌面
1 参考资料 UOS系统中安装x11vnc远程桌面 如何通过windows电脑远程UOS桌面RDP 已在ARM版本和X86版本中验证均可用 2 准备工作 2.1 设置代理(可选) 如果设备本身能和公网通,就不需要了。 由于我们全程需要在root账号下进行,系…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
