当前位置: 首页 > news >正文

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&#xff08;Java Server Pages&#xff09;&#xff0c;是一种动态网页技术&#xff0c;它允许开发者使用Java代码和HTML标签来创建网页。在这篇文章中&#xff0c;我们将详细介绍JSP的基本概念、语法和应用。 一、JSP的基本概念 1.1 JSP的含义 JSP是一种网页技术&#…...

java基于知识库的中医药问询系统

本系统主要包含了等系统用户管理、中医药常识管理、科室信息管理、知识库管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。 管理员的登录模块&#xff1a;管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块&#xff1a;用户登录本系统&#xff0c;对个…...

【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。

一、什么是ARP ARP&#xff08;地址解析协议&#xff09;英文全称“Address Resolution Protocol”&#xff0c;是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#xff0c;并接收返回消息&#xff0c;以此确…...

自动驾驶行业观察之2023上海车展-----车企发展趋势(2)

自主品牌发展 比亚迪&#xff1a;展示3款新车&#xff0c;均于2023年年内上市 比亚迪在本次展会上推出了3款新车&#xff1a;宋L概念车&#xff08;王朝系列&#xff09;、驱逐舰07&#xff08;海洋系列&#xff09;、海鸥&#xff08;海洋系列&#xff09;。 • 宋L&#x…...

通知所有员工所需的时间

题目描述 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中&#xff0c;每个员工都有一个直属负责人&#xff0c;其中 manager[i] 是第 i 名员工的直属负责人。对于总负责…...

Docker:bash: vim: command not found

进入docker容器 docker exec -it [容器ID] /bin/bash docker exec -it e56e7bbe85ad /bin/bash 在使用 Docker 容器时&#xff0c;有时候里边没有安装vim&#xff0c;敲vim命令时提示说&#xff1a;vim: command not found&#xff0c;这个时候就需要安装vim&#xff0c;可是…...

排序算法之选择排序

选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法&#xff0c;其基本思路是在未排序的数据序列中找到最小元素&#xff0c;将其放在已排序的数据序列的末尾。重复该过程&#xff0c;直到整个序列排序完成。 具体实现过程如下&#xff1a; 首先&#x…...

5_服务编排_docker-compose

服务编排之Docker Compose 微服务架构的应用系统中一般包含若干个微服务&#xff0c;每个微服务一般都会部署多个实例&#xff0c;如果每个微服务都要手动启停&#xff0c;维护的工作量会很大。 要从Dockerfile build image 或者去dockerhub拉取image 要创建多个container 要…...

Java基本数据类型以及包装类型的常量池技术

Java 中的基本数据类型 Java 中有 8 种基本数据类型&#xff0c;分别为&#xff1a; 6 种数字类型&#xff1a; 4 种整数型&#xff1a;byte、short、int、long2 种浮点型&#xff1a;float、double 1 种字符类型&#xff1a;char1 种布尔型&#xff1a;boolean。 这 8 种基本…...

P1054 [NOIP2005 提高组] 等价表达式

题目描述 明明进了中学之后&#xff0c;学到了代数表达式。有一天&#xff0c;他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式&#xff0c;然后列出了若干选项&#xff0c;每个选项也是一个代数表达式&#xff0c;题目的要求是判断选项中哪些代数表达式…...

什么牌子蓝牙耳机好用不贵?国产性价比高的蓝牙耳机推荐

相较于有线耳机&#xff0c;无线蓝牙耳机更便携、功能更丰富&#xff0c;不用受到耳机孔与线的限制。那么&#xff0c;什么牌子的蓝牙耳机好用不贵&#xff1f;针对这个问题&#xff0c;我给大家推荐几款国产性价比高的蓝牙耳机&#xff0c;可以当个参考。 一、南卡小音舱Lite…...

明明花钱上了ERP,为什么还要我装个MES系统

目前&#xff0c; ERP系统依旧是很多制造企业的选择。据统计&#xff0c;ERP系统的应用已经达到70&#xff05;以上&#xff0c;但是在车间的应用&#xff0c; MES系统的应用比例并不高。那么&#xff0c;为什么现在很多企业又都选择再上个MES呢&#xff1f; MES系统是一个面向…...

JAVA中的集合框架有哪些?

在Java中&#xff0c;集合&#xff08;Collection&#xff09;是一组对象的容器&#xff0c;而集合框架&#xff08;Collection Framework&#xff09;是一组接口、实现类和算法&#xff0c;用于存储和操作集合。Java集合框架提供了一组通用的、高性能的、可扩展的接口和类&…...

用Jmeter进行接口自动化测试的工作流程你知道吗?

目录 测试流程 接口测试相关文档管理规范 接口测试要点 测试流程 在测试负责人接受到测试任务后&#xff0c;应该按照以下流程规范完成测试工作。 2.1 测试需求分析 产品开发负责人在完成某产品功能的接口文档编写后&#xff0c;在核对无误后下发给对应的接口测试负责人…...

Java 中的设计模式有哪些?(十九)

Java设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计模式可以帮助我们解决软件开发过程中面临的一般问题&#xff0c;提高代码的可读性、可复用性和可扩展性。 Java中一般认为有23种设计模式&#xff0c;总体来说设计模式分为三大类&…...

奇数单增序列

题目描述 给定一个长度为 N&#xff08;不大于 500&#xff09;的正整数序列&#xff0c;请将其中的所有奇数取出&#xff0c;并按升序输出。 输入格式 第 1 行为 N&#xff1b;第 2 行为 N 个正整数&#xff0c;其间用空格间隔。 输出格式 增序输出的奇数序列&#xff0c…...

Seata介绍

介绍&#xff1a; Seata的设计目标是对这个业务无侵入&#xff0c;因此从业务无侵入的2PC方案开始的&#xff0c;在传统的2PC的基础上演进的。它把一个分布式事务拆分理解成一个包含了若干分支事务的全局事务。全局事务的职责是协调其下管辖的分支事务达成一致性&#xff0c;要…...

VK Cup 2017 - Round 1 A - Bear and Friendship Condition(并查集维护大小 + dfs 遍历图统计边数)

题目大意&#xff1a; 给你一些n个点m条边&#xff0c;如果三个点&#xff08;a,b,c&#xff09;是合法的&#xff0c;当且仅当 a-b,b-c,c-a都有一条边&#xff0c;问你这个图是否合法&#xff0c;如果有一个或两个点视为合法 思路 考虑什么图才是个合法图&#xff1a;除了点…...

为UOS启用VNC和Windows远程桌面

1 参考资料 UOS系统中安装x11vnc远程桌面 如何通过windows电脑远程UOS桌面RDP 已在ARM版本和X86版本中验证均可用 2 准备工作 2.1 设置代理&#xff08;可选&#xff09; 如果设备本身能和公网通&#xff0c;就不需要了。 由于我们全程需要在root账号下进行&#xff0c;系…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...