商城-下单-订单系统接口

1.订单系统接口

我们不做开发,只讲解

1.1.导入订单服务

把课前资料提供的leyou-order复制到D:\heima\code\leyou目录。

然后在工程内导入:
在这里插入图片描述

然后导入module:
在这里插入图片描述

选择导入module:
在这里插入图片描述

选择目录中的 ly-order
在这里插入图片描述

打开父工程leyou的pom文件,添加ly-order模块:
在这里插入图片描述

1.2.Swagger-UI

丝袜哥

1.2.1.什么是OpenAPI

随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要。

没有API文档工具之前,大家都是手写API文档的,在什么地方书写的都有,而且API文档没有统一规范和格式,每个公司都不一样。这无疑给开发带来了灾难。

OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程。目前V3.0版本的OpenAPI规范已经发布并开源在github上 。

官网:https://github.com/OAI/OpenAPI-Specification

1.2.2.什么是swagger?

OpenAPI是一个编写API文档的规范,然而如果手动去编写OpenAPI规范的文档,是非常麻烦的。而Swagger就是一个实现了OpenAPI规范的工具集。

官网:https://swagger.io/

看官方的说明:
在这里插入图片描述

Swagger包含的工具集:

  • Swagger编辑器: Swagger Editor允许您在浏览器中编辑YAML中的OpenAPI规范并实时预览文档。
  • Swagger UI: Swagger UI是HTML,Javascript和CSS资产的集合,可以从符合OAS标准的API动态生成漂亮的文档。
  • **Swagger Codegen:**允许根据OpenAPI规范自动生成API客户端库(SDK生成),服务器存根和文档。
  • **Swagger Parser:**用于解析来自Java的OpenAPI定义的独立库
  • **Swagger Core:**与Java相关的库,用于创建,使用和使用OpenAPI定义
  • Swagger Inspector(免费): API测试工具,可让您验证您的API并从现有API生成OpenAPI定义
  • SwaggerHub(免费和商业): API设计和文档,为使用OpenAPI的团队构建。

1.2.3.快速入门

SpringBoot已经集成了Swagger,使用简单注解即可生成swagger的API文档。

1)引入依赖
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.8.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.8.0</version>
</dependency>
2)编写配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
   
    @Bean
    public Docket api() {
   
        return new Docket(DocumentationType.SWAGGER_2)
                .host("http://order.leyou.com")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.leyou.order.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
   
        return new ApiInfoBuilder()
                .title("乐优商城订单系统")
                .description("乐优商城订单系统接口文档")
                .version("1.0")
                .build();
    }
}
3)接口声明

在controller的每个handler上添加接口说明注解:

@RestController
@RequestMapping(
  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设水果商城系统需要实现以下通信接口: 1. 查询水果库存:用户可以通过该接口查询某种水果的库存量。 2. 下单接口:用户可以通过该接口下单购买水果,需要提供水果种类、数量等信息。 3. 支付接口:用户可以通过该接口完成支付,需要提供订单号和支付金额等信息。 4. 订单查询接口:用户可以通过该接口查询自己的订单情况,包括订单状态、订单详情等信息。 接下来,我们分别介绍这些接口的实现方式。 1. 查询水果库存 水果商城系统需要维护一个水果库存的数据库表,表中包含水果名称和库存量等信息。 用户查询水果库存时,可以通过发送一个HTTP GET请求,请求的URL为“/fruit/inventory/{fruitName}”,其中{fruitName}为水果名称。服务器接收到请求后,可以从数据库中查询该水果的库存量,并将查询结果以JSON格式返回给用户。 例如,用户发送如下请求: GET /fruit/inventory/apple HTTP/1.1 Host: www.fruitstore.com 服务器返回如下响应: HTTP/1.1 200 OK Content-Type: application/json { "fruitName": "apple", "inventory": 100 } 2. 下单接口 用户下单时,可以通过发送一个HTTP POST请求,请求的URL为“/order”,请求体中包含水果种类、数量等信息。服务器接收到请求后,可以将订单信息插入到订单数据库表中,并返回订单号给用户。 例如,用户发送如下请求: POST /order HTTP/1.1 Host: www.fruitstore.com Content-Type: application/json { "fruitName": "apple", "quantity": 10, "address": "123 Main St, Anytown USA" } 服务器返回如下响应: HTTP/1.1 200 OK Content-Type: application/json { "orderId": "1234567890" } 3. 支付接口 用户完成支付时,可以通过发送一个HTTP POST请求,请求的URL为“/payment”,请求体中包含订单号和支付金额等信息。服务器接收到请求后,可以将订单状态更新为“已支付”,并返回支付结果给用户。 例如,用户发送如下请求: POST /payment HTTP/1.1 Host: www.fruitstore.com Content-Type: application/json { "orderId": "1234567890", "amount": 50.0 } 服务器返回如下响应: HTTP/1.1 200 OK Content-Type: application/json { "status": "success" } 4. 订单查询接口 用户查询订单时,可以通过发送一个HTTP GET请求,请求的URL为“/order/{orderId}”,其中{orderId}为订单号。服务器接收到请求后,可以从订单数据库表中查询该订单的状态和详情等信息,并将查询结果以JSON格式返回给用户。 例如,用户发送如下请求: GET /order/1234567890 HTTP/1.1 Host: www.fruitstore.com 服务器返回如下响应: HTTP/1.1 200 OK Content-Type: application/json { "orderId": "1234567890", "status": "paid", "details": [ { "fruitName": "apple", "quantity": 10, "price": 5.0 } ] }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值