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

编写微服务api

1.创建实体类模块

2.导入lombok

<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency></dependencies>

3.添加实体类

package com.cx;import lombok.Data;import java.math.BigDecimal;
import java.util.List;/*** @author Jiang* @date 2025/11/7*/
@Data
public class Order {private Long id;private BigDecimal totalAmount;private Long userId;private String nickName;private String address;private List<Product> productList;
}
package com.cx;import lombok.Data;import java.math.BigDecimal;/*** @author Jiang* @date 2025/11/7*/
@Data
public class Product {private Long id;private BigDecimal price;private String productName;private int num;
}

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

 <dependency><groupId>com.cx</groupId><artifactId>model</artifactId><version>0.0.1-SNAPSHOT</version>
</dependency>

5.基本流程

6.product模块代码

package com.cx.product.controller;import com.cx.Product;
import com.cx.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;/*** @author Jiang* @date 2025/11/7*/
@RestController
public class ProductController {@AutowiredProductService productService;@GetMapping(value = "/productId/{id}")public Product getProductById(@PathVariable("id") Long productId) {return productService.getProductById(productId);}
}
package com.cx.product.service;import com.cx.Product;/*** @author Jiang* @date 2025/11/7*/
public interface ProductService {Product getProductById(Long productId);
}
package com.cx.product.service.impl;import com.cx.Product;
import com.cx.product.service.ProductService;
import org.springframework.stereotype.Service;import java.math.BigDecimal;/*** @author Jiang* @date 2025/11/7*/
@Service
public class ProductServiceImpl implements ProductService {@Overridepublic Product getProductById(Long productId) {Product product = new Product();product.setId(productId);product.setPrice(new BigDecimal("99"));product.setProductName("苹果-" + productId);product.setNum(11);return product;}
}

7.order模块代码

package com.cx.order.controller;import com.cx.Order;
import com.cx.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;/*** @author Jiang* @date 2025/11/7*/
@RestController
public class OrderController {@AutowiredOrderService orderService;@GetMapping(value = "/create")public Order createOrder(@RequestParam("userId") Long userId, @RequestParam("productId") Long productId) {return orderService.createOrder(userId, productId);}
}
package com.cx.order.service;import com.cx.Order;/*** @author Jiang* @date 2025/11/7*/
public interface OrderService {Order createOrder(Long userId, Long productId);
}
package com.cx.order.service.impl;import com.cx.Order;
import com.cx.order.service.OrderService;
import org.springframework.stereotype.Service;import java.math.BigDecimal;/*** @author Jiang* @date 2025/11/7*/
@Service
public class OrderServiceImpl implements OrderService {@Overridepublic Order createOrder(Long userId, Long productId) {Order order = new Order();order.setId(1L);//TODO 总金额order.setTotalAmount(new BigDecimal("0"));order.setUserId(userId);order.setNickName("张三");order.setAddress("火星");//TODO 远程查询商品列表order.setProductList(null);return order;}
}
http://www.dtcms.com/a/580914.html

相关文章:

  • Flutter Transform.rotate 与动画控制器 实现旋转动画
  • Flutter进行命令打包各版本程序(2025.11)
  • 【基于 WangEditor v5 + Vue2 封装 CSDN 风格富文本组件】
  • 网站建设的重要性意义徐州建站公司模板
  • Scrapy源码剖析:下载器中间件是如何工作的?
  • vi 编辑器命令大全
  • AI 预测 + 物联网融合:档案馆温湿度监控系统发展新趋势
  • Vue JSON结构编辑器组件设计与实现解析
  • 14_FastMCP 2.x 中文文档之FastMCP高级功能:MCP中间件详解
  • 软考中级软件设计师(下午题)--- UML建模
  • 机械臂时间最优规划
  • 【LeetCode刷题】两数之和
  • 10 月热搜精选
  • 郑州商城网站开发摄影网站源码 国外
  • Docker 加载镜像时报 no space left on device 的彻底解决方案
  • 5、prometheus标签
  • python+django/flask基于机器学习的就业岗位推荐系统
  • Mysql作业5
  • 为什么Vue 3需要ref函数?它的响应式原理与正确用法是什么?
  • STM32外设学习--TIM定时器--输入捕获---测频方法(代码编写)
  • 如何设置JVM参数避开直接内存溢出的坑?
  • (七)嵌入式面试题收集:8道
  • AI搜索营销破局:光引GEO多平台适配与实时优化引擎开发详解
  • 【有源码】基于Hadoop+Spark的起点小说网大数据可视化分析系统-基于Python大数据生态的网络文学数据挖掘与可视化系统
  • Windows10 wsl2 ubuntu22.04 docker安装
  • 使用docker-compose部署应用保姆级教程
  • 【Linux工具链】从跨平台适配到一键部署:yum多架构支持+Vim远程编辑+gcc交叉编译,解决多场景开发效率瓶颈
  • 简单做网站企业宣传视频制作免费模板
  • 西安SEO网站建设哪家好食品网站的网页设计
  • 网站开发公司哪家好嘉兴市建设工程监理协会网站