RESTful互联网软件架构

news2024/11/16 15:57:36

文章目录

  • 前言
  • 项目案例
    • 添加数据 @PostMapping
    • 删除数据 @DeleteMapping
    • 修改数据 @PutMapping
    • 查询所有数据 @GetMapping
    • 按照ID查询数据 @GetMapping("/{xxx}")
    • 复杂多条件查询 @PostMapping("/xxx")


前言

提示:这里可以添加本文要记录的大概内容:

GET用来获取资源;
POST用来新建资源(也可以用于更新资源);
PUT用来更新资源;
DELETE用来删除资源;


提示:以下是本篇文章正文内容,下面案例可供参考

项目案例

po 类代码:

public class Shop {

	private Integer shopId;
	private String shopName;
	private String shopAddress;
	private String shopExplain;
	private Double salePrice;
	private Double deliveryPrice;

	// 自动生成 Getter、Setter、有参无参方法
	// 修改toString()格式
	@Override
	public String toString() {
		return "商家编号:" + shopId + "\t 商家名称:" + shopName + "\t 商家地址:" + shopAddress + "\t 商家介绍:"
				+ shopExplain + "\t 所售价格:" + salePrice + "\t 快递费:" + deliveryPrice ;
	}
	
}

新建 controller 包

@RestController  //相当于@Controller+@ResponseBody的组合
@RequestMapping("/shop")
public class ShopController {

}

添加数据 @PostMapping

	// 具体地址不用配置
	@PostMapping
	public String add(Shop shop) {
		System.out.println(shop+"增加成功");
		return "OK";
	}

测试:
在这里插入图片描述
控制台输出:数据对应上了
在这里插入图片描述

删除数据 @DeleteMapping

	// 自定义名字
	@DeleteMapping("/{id}")
	public String delete(@PathVariable("id") int id) {
		System.out.println("编号是"+id+"的商家删除成功");
		return "OK";
	}

测试:
在这里插入图片描述

修改数据 @PutMapping

	@PutMapping
	public String update(Shop shop) {
		System.out.println(shop+"修改成功");
		return "OK";
	}

测试:
在这里插入图片描述

查询所有数据 @GetMapping

	@GetMapping
	public List<Shop> queryShops(){
		List<Shop> list = new ArrayList<Shop>();
		list.add(new Shop(1, "大盘鸡", "津海市广场对过左拐200米", "还不错", 15.0, 0.0));
		list.add(new Shop(2, "手工水饺", "津海市广场对过右拐100米", "挺好的", 20.0, 0.0));
		list.add(new Shop(2, "野菜饭馆", "津海市广场对过右拐100米左拐", "还行吧", 200.0, 0.0));
		return list;
	}

测试:
在这里插入图片描述

按照ID查询数据 @GetMapping(“/{xxx}”)

路径变量是自定义的,这里是 ox

	@GetMapping("/{ox}")
	public Shop queryShopById(@PathVariable("ox") int id) {
		Shop shop = new Shop(id,"全牛宴", "津海市大学对过", "味道不错", 500.0, 0.0);
		return shop;
	}

测试:模拟动态 id
在这里插入图片描述

复杂多条件查询 @PostMapping(“/xxx”)

这里要多加以及路径,这里取名 qc

	//多条件查询(复杂)多加一条路径
	@PostMapping("/qc")
	public List<Shop> queryShopsCondition(Shop shop){
		System.out.println("查询条件是"+shop);
		
		List<Shop> list = new ArrayList<Shop>();
		list.add(new Shop(2, "野菜饭馆", "津海市广场对过右拐100米左拐", "还行吧", 200.0, 0.0));
		list.add(new Shop(2, "手工水饺", "津海市广场对过右拐100米", "挺好的", 20.0, 0.0));
		return list;
	}

测试
在这里插入图片描述

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

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

相关文章

把握客户之心:专业供应商如何妥善应对不合理的项目要求

理解不合理要求的来源 在项目管理中&#xff0c;面对客户的不合理要求是一项经常遇到的挑战。但在对这些要求作出反应之前&#xff0c;我们首先需要深入了解它们的来源。 客户的业务环境与压力 对于许多客户来说&#xff0c;他们在提出项目需求时可能面临来自上级、同事或业…

无线液位传感器—简介

近年来&#xff0c;随着无线传感网络技术的愈发成熟和稳定&#xff0c;无线传感器因其安装、维护方便&#xff0c;不用布线、节约成本&#xff0c;监测方便&#xff0c;使用灵活&#xff0c;可适用于多种工业领域等优点&#xff0c;正在逐步替代部分传统有线传感器&#xff0c;…

JAVA电商平台免费搭建 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 bbc

​ 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前…

纯跟踪(Pure Pursuit)路径跟踪算法研究(2)

纯跟踪(Pure Pursuit)路径跟踪算法研究&#xff08;2&#xff09; 下午进行了简单的公式推导&#xff0c;理论推导部分是没有问题的 下面的博客提供了在实车上用 GPS 实现纯跟踪控制的一些思路和注意点 Pure Pursuit&#xff08;纯追踪算法&#xff09;ROS实践 并不急于在实车…

勘探开发人工智能技术:机器学习(1)

0 提纲 2.1 什么是机器学习 2.2 不确定性 2.3 数据类型 2.4 分类、回归、聚类 2.5 分类问题的训练与测试 2.6 性能评价指标 1 什么是机器学习 对于西瓜这个抽象类来说&#xff0c;它具有“色泽”&#xff0c;“根蒂”&#xff0c;“敲声”三个属性&#xff1a; 通过观察这个…

值得尝试的进销存软件,新手使用也轻松!

作为一名小老板&#xff0c;我曾经非常担心在操作进销存软件时出现故障&#xff0c;因为这会直接影响到我们的业务开展。然而&#xff0c;在操作管家婆云辉煌的过程中&#xff0c;我发现这种担忧是没有必要的。 管家婆云辉煌的稳定性非常高&#xff0c;几乎不会出现软件故障。 …

软件测试目的和原则

一、软件测试的目的 1&#xff09;软件测试是为了发现错误而执行程序的过程。 2&#xff09;测试是为了证明程序有错&#xff0c;而不是证明程序无错。&#xff08;发现错误不是唯一目的&#xff09; 3&#xff09;一个好的测试用例在于它发现至今未发现的错误。 4&#xf…

uni-app微信小程序开发自定义select下拉多选内容篇

分享-2023年高级前端进阶&#xff1a;前端登顶之巅-最全面的前端知识点总结站点 *分享一个使用比较久的&#x1fa9c; 技术框架公司的选型&#xff1a;uni-app uni-ui vue3 vite4 ts 需求分析&#xff1a;微信小程序-uni-ui内容 1、创建一个自定义的下拉&#xff0c;支持多…

浏览器多管闲事之跨域

年少时的梦想就是买一台小霸王游戏机 当时的宣传语就是小霸王其乐无穷~。 大些了&#xff0c;攒够了零花钱&#xff0c;在家长的带领下终于买到了 那一刻我感觉就是最幸福的人 风都是甜的&#xff01; 哪成想... 刚到家就被家长扣下了 “”禁止未成年人玩游戏机 (问过卖家了&a…

AWS中Lambda集成SNS

1.创建Lambda 在Lambda中&#xff0c;创建名为AWSSNSDemo的函数 use strict console.log(loading function); var aws require(aws-sdk); var docClient new aws.DynamoDB.DocumentClient(); aws.config.regionap-southeast-1;exports.handler function(event,context,cal…

C语言实现选择排序

什么是选择排序&#xff1f; 选择排序是一种简单直观的排序算法&#xff0c;它的核心思想是每次从未排序的元素中选择最小&#xff08;或最大&#xff09;的元素&#xff0c;然后将其放到已排序序列的末尾。通过重复这个过程&#xff0c;直到所有元素都排好序为止。 选择排序…

IntelliJ IDEA如何重新弹出git身份验证窗口

1、点击File菜单—>点击Settings—>点击Appearance & Behavior—>点击System Settings—>点击Passwords—>选中Do not save, forget passwords after restart—>点击Apply—>点击OK&#xff0c;如下所示&#xff1a; 2、重启IntelliJ IDEA—>通过g…

idea集成svn

一、注意 安装svn客户端的时候一定要勾选&#xff0c;否则在idea上集成svn的时候会找不到 svn.exe 而报错。 如果当初安装时忘记勾选&#xff0c;重新运行安装包&#xff0c;选择modify&#xff0c;勾选command line client tools项中的内容。 二、配置idea集成svn 三、检出(c…

生产车间SOP+电子作业指导书系统解决方案

为了提高生产效率&#xff0c;许多企业开始使用SOP电子作业指导书系统来统一管理和快速发布工作指导书。这种系统不仅能够实现无纸化办公&#xff0c;节省企业资源&#xff0c;还能集成生产管理看板系统和安灯呼叫系统&#xff0c;实现生产现场数据的目视化管理。 一、SOP系统拓…

简单数据类型

目录 前言 一.变量 1.1 变量命名 2.1 变量定义 二.类型 2.1 字符串 2.1.1 定义 2.1.2 操作 2.1.3 python2中的print语句 2.2 整数 2.2.1 运算 2.2.2 浮点数 2.2.3 str()函数 2.3 列表 2.3.1 访问和使用列表元素 2.3.2 在列表中添加元素 2.3.3 从列表中删除元素 2.3.4 组织列表…

LangChain源码逐行解密之LLMs(二)

LangChain源码逐行解密之LLMs(二) 18.3 base.py源码逐行剖析 现在我们要聚焦于源代码中的大语言模型部分。如图18-3所示,LangChain提供了许多语言模型的选择。 Gavin大咖微信:NLP_Matrix_Space 图18- 3 LangChain的llms目录 如图18-4所示,整个LangChain的模块化设计非常出…

最小花费 c++详解

最小花费 c详解 最小花费题目描述输入格式输出格式样例样例输入样例输出 提示 解法代码 最小花费 题目描述 在 n n n 个人中&#xff0c;某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费&…

如何实现电子合同管理系统与其他企业应用的无缝对接?

电子合同管理系统是一种利用信息技术来管理和执行合同的系统。随着企业数字化转型的推进&#xff0c;电子合同管理系统已经成为许多企业必备的工具之一。然而&#xff0c;要实现电子合同管理系统与其他企业应用的无缝对接&#xff0c;并不是一件容易的事情。 实现电子合同管理…

深度解读|一站式ABI平台 Smartbi Insight V11 能力再升级

纵观过去&#xff0c;我们发现汽车和BI的发展有异曲同工之妙。 100来年&#xff0c;汽车的动力从蒸汽到燃油再到新能源&#xff0c;汽车的操控方式从手动到自动再到智能无人驾驶。而在BI领域&#xff0c;自1958年BI的概念提出后&#xff0c;底层数据准备从报表开发、Cube多维模…

图像的缩放之c++实现(qt + 不调包)

1.基本原理 图像的缩放一般使用插值算法&#xff0c;而本章将介绍两种常用插值算法&#xff1a;最临近插值法和双线性插值法 1.最临近插值法 将浮点数的位置坐标&#xff0c;进行四舍五入找到原图像的整型坐标即可&#xff0c;具体操作可见下面的公式&#xff0c;其中原图像坐标…