编写微服务api

作者:CV_J日期:2025/11/8

1.创建实体类模块

2.导入lombok

1<dependencies>
2        <dependency>
3            <groupId>org.projectlombok</groupId>
4            <artifactId>lombok</artifactId>
5            <scope>provided</scope>
6        </dependency>
7    </dependencies>

3.添加实体类

1package com.cx;
2
3import lombok.Data;
4
5import java.math.BigDecimal;
6import java.util.List;
7
8/**
9 * @author Jiang
10 * @date 2025/11/7
11 */
12@Data
13public class Order {
14    private Long id;
15    private BigDecimal totalAmount;
16    private Long userId;
17    private String nickName;
18    private String address;
19    private List<Product> productList;
20}
1package com.cx;
2
3import lombok.Data;
4
5import java.math.BigDecimal;
6
7/**
8 * @author Jiang
9 * @date 2025/11/7
10 */
11@Data
12public class Product {
13    private Long id;
14    private BigDecimal price;
15    private String productName;
16    private int num;
17}

4.在services的pom文件中导入model

1 <dependency>
2    <groupId>com.cx</groupId>
3    <artifactId>model</artifactId>
4    <version>0.0.1-SNAPSHOT</version>
5</dependency>

5.基本流程

6.product模块代码

1package com.cx.product.controller;
2
3import com.cx.Product;
4import com.cx.product.service.ProductService;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.web.bind.annotation.GetMapping;
7import org.springframework.web.bind.annotation.PathVariable;
8import org.springframework.web.bind.annotation.RestController;
9
10/**
11 * @author Jiang
12 * @date 2025/11/7
13 */
14@RestController
15public class ProductController {
16    @Autowired
17    ProductService productService;
18
19    @GetMapping(value = "/productId/{id}")
20    public Product getProductById(@PathVariable("id") Long productId) {
21        return productService.getProductById(productId);
22    }
23}
1package com.cx.product.service;
2
3import com.cx.Product;
4
5/**
6 * @author Jiang
7 * @date 2025/11/7
8 */
9public interface ProductService {
10    Product getProductById(Long productId);
11}
12
1package com.cx.product.service.impl;
2
3import com.cx.Product;
4import com.cx.product.service.ProductService;
5import org.springframework.stereotype.Service;
6
7import java.math.BigDecimal;
8
9/**
10 * @author Jiang
11 * @date 2025/11/7
12 */
13@Service
14public class ProductServiceImpl implements ProductService {
15    @Override
16    public Product getProductById(Long productId) {
17        Product product = new Product();
18        product.setId(productId);
19        product.setPrice(new BigDecimal("99"));
20        product.setProductName("苹果-" + productId);
21        product.setNum(11);
22        return product;
23    }
24}

7.order模块代码

1package com.cx.order.controller;
2
3import com.cx.Order;
4import com.cx.order.service.OrderService;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.web.bind.annotation.GetMapping;
7import org.springframework.web.bind.annotation.RequestParam;
8import org.springframework.web.bind.annotation.RestController;
9
10/**
11 * @author Jiang
12 * @date 2025/11/7
13 */
14@RestController
15public class OrderController {
16    @Autowired
17    OrderService orderService;
18
19    @GetMapping(value = "/create")
20    public Order createOrder(@RequestParam("userId") Long userId, @RequestParam("productId") Long productId) {
21        return orderService.createOrder(userId, productId);
22    }
23}
1package com.cx.order.service;
2
3import com.cx.Order;
4
5/**
6 * @author Jiang
7 * @date 2025/11/7
8 */
9public interface OrderService {
10    Order createOrder(Long userId, Long productId);
11}
1package com.cx.order.service.impl;
2
3import com.cx.Order;
4import com.cx.order.service.OrderService;
5import org.springframework.stereotype.Service;
6
7import java.math.BigDecimal;
8
9/**
10 * @author Jiang
11 * @date 2025/11/7
12 */
13@Service
14public class OrderServiceImpl implements OrderService {
15    @Override
16    public Order createOrder(Long userId, Long productId) {
17        Order order = new Order();
18        order.setId(1L);
19        //TODO 总金额
20        order.setTotalAmount(new BigDecimal("0"));
21        order.setUserId(userId);
22        order.setNickName("张三");
23        order.setAddress("火星");
24        //TODO 远程查询商品列表
25        order.setProductList(null);
26        return order;
27    }
28}

编写微服务api》 是转载文章,点击查看原文


相关推荐


使用CameraX 1.5进行高速拍摄和慢动作视频拍摄
稀有猿诉2025/11/5

本文译自「High-Speed Capture and Slow-Motion Video with CameraX 1.5」,原文链接android-developers.googleblog.com/2025/10/hig…,由Leo Huang发布于2025年10月28日。 清晰捕捉快速运动的画面是现代相机应用的关键特性。这可以通过高速拍摄来实现——即以 120 或 240 fps 等速率采集帧。这种高保真拍摄可用于两种截然不同的用途:创建高帧率视频以进行逐帧的详细分析,或生成慢动作视


MPK(Mirage Persistent Kernel)源码笔记(4)--- 转译系统
罗西的思考2025/10/31

MPK(Mirage Persistent Kernel)源码笔记(4)--- 转译系统 0x00 概要 0x01 Task和Event 1.1 可执行任务 1.2 事件 0x02 生成CUDA代码 2.1 生成代码 2.2 注册代码 2.3 获取代码 0x03 生成任务图 3.1 入口 3.2 runtime.cc主体 3.3 建立依赖关系 3.4 输出代码 0xFF 参考 0x00 概要 此处的”转译系统“包含两部分: 把计算图转换为任务图。 将 Mir


目标使用过期的TLS1.0 版协议
oneslide2025/10/29

文章目录 目标使用过期的TLS1.0 版协议详细描述解决办法启用测试办法注意事项 目标主机支持RSA密钥交换详细描述解决办法 目标使用过期的TLS1.0 版协议 详细描述 该插件连接到目标主机服务,检测到目标服务加密通信使用的SSL加密算法。 远程服务利用旧版 TLS 加密流量。 解决办法 启用 TLS 1.2 和/或 1.3 支持,禁用 TLS 1.0 支持 nginx样例配置如下: server { list


LabVIEW开发双光子成像
LabVIEW开发2025/10/26

双光子成像技术作为一种先进的光学成像手段,广泛应用于生物医学研究领域,尤其适用于活体细胞与组织的成像研究。LabVIEW软件在双光子成像系统中的应用,涵盖系统设计、数据采集、图像处理及用户界面开发等核心环节。 双光子原理 双光子成像技术基于双光子吸收效应:当两个光子近乎同时被荧光分子吸收时,可激发该分子产生荧光。该技术的核心优势在于能够实现深层组织的高分辨率成像 —— 较长波长的光在生物组织中散射程度更低,从而具备更强的组织穿透能力。 LabVIEW开发 在双光子成像系统中,La


有哪些开源项目提供即插即用的 qss 模板文件
hmoexyz2025/10/23

有哪些开源项目提供即插即用的 qss 模板文件 Qt 的 .qss(Qt Style Sheet)文件类似于 CSS,用于自定义 Qt 应用的界面样式。虽然 Qt 官方没有一个专门的 QSS 模板库,但社区中确实存在一些优秀的开源项目提供了丰富的 QSS 样式模板,可直接使用或作为参考。 以下是几个值得一看的开源项目或资源: 🎯 1. QtTheme 项目地址:https://github.com/hubenchang0515/QtTheme 简介:纯 qss 的 Qt 主题。


亚马逊云代理商:怎么快速构建高安全区块链应用?
TG_yunshuguoji2025/10/22

作为全球领先的云计算平台,亚马逊云(AWS)为区块链应用开发提供了全方位支持。它为企业提供了从需要去中心化信任的多方协作网络(Managed Blockchain)到仅需不可篡改数据记录的内部应用(QLDB)的完整解决方案谱系。如果你还没有AWS账号或上云实际使用云服务过程中有不懂的,可寻云枢国际免卡上云用云以及获得专业的技术支持和折扣。 一、AWS区块链核心优势 1. 安全性 2. 可扩展性 3. 完全托管服务,降低开发运维难度 4. 与其他AWS服务无缝集成 二、四大核心服务


如何用python来做小游戏
你才是向阳花2025/10/21

本文重点内容:pygame 前情准备:我们需要安装好python,没有安装?传送门➡️ https://blog.csdn.net/weixin_54714100/article/details/152517550 如果我们安装成功了python,那么我们就可以用【pip】指令完成pygame的安装 pip install pygame // Windows pip3 install pygame // macOs 一个简单的小游戏: 绘制一个小球,通过方向键控制小球的移动


Endnote | word中加载项消失不见,如何处理?
跳动的喵尾巴2025/10/20

Endnote | word中加载项消失不见的几种问题及处理方法 一、Endnote在word中不出现的报错内容1.1 报错问题及安装版本1.2 问题分析1.2.1 EndNote 未重新安装1.2.2 Endnote.oxt 文件不是 Word 可识别格式1.2.3 Word 插件目录错误或损坏 二、解决方案2.1 重新安装 EndNote(最彻底)2.2 安装Endnote,在Word工具栏中未出现2.3 笔者遇到的问题——系统重装,Endnote未重新安装,在Word工具栏中未


申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​
用户31187945592182025/10/18

​ 专门为申威(sw_64)架构的电脑打造的Java 8运行环境。 ​1. 下载文件​ 安装包下载:pan.quark.cn/s/936281541… ,确保你已经下载了 java-1.8.0-swjdk-8u212-8.ky10.sw_64.rpm,并记住它放在哪个文件夹里(比如“下载”)。 ​2. 打开终端​ 按 Ctrl + Alt + T打开终端,进入你放文件的目录: cd ~/下载 # 如果放在“下载”文件夹 ​3. 安装 RPM 包​ 运行安装命令(需要输入密码): sudo


SpringCloud系列(52)--SpringCloud Sleuth简介
Ken_11152025/10/17

前言:在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败,所以我们需要一种技术来对链路的调用进行监控 1、SpringCloud Sleuth SpringCloud Sleuth提供了—套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin(SpringCloud Sleuth负责收集链路调用

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0