国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

瑞吉外賣項目——前后端分離

這篇具有很好參考價值的文章主要介紹了瑞吉外賣項目——前后端分離。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前后端分離開發(fā)

介紹

前后端分離開發(fā),就是在項目開發(fā)過程中,對于前端代碼的開發(fā)由專門的前端開發(fā)人員負責,后端代碼則由后端開發(fā)人員負責,這樣可以做到分工明確、各司其職,提高開發(fā)效率,前后端代碼并行開發(fā),可以加快項目開發(fā)進度。

目前,前后端分離開發(fā)方式已經被越來越多的公司所采用,成為當前項目開發(fā)的主流開發(fā)方式。

前后端分離開發(fā)后,從工程結構上也會發(fā)生變化,即前后端代碼不再混合在同一個maven工程中,而是分為前端工程后端工程。

開發(fā)流程

前后端分離開發(fā)后,面臨一個問題,就是前端開發(fā)人員和后端開發(fā)人員如何進行配合來共同開發(fā)一個項目?

  • **接口(API接口)**就是一個http的請求地址,主要就是去定義∶請求路徑、請求方式、請求參數、響應數據等內容。

前端技術棧

開發(fā)工具

  • Visual Studio Code
  • hbuilder

技術框架

  • nodejs
  • VUE
  • ElementUl
  • mock
  • webpack

Yapi

介紹

YApi是高效、易用、功能強大的api管理平臺,旨在為開發(fā)、產品、測試人員提供更優(yōu)雅的接口管理服務??梢詭椭_發(fā)者輕松創(chuàng)建、發(fā)布、維護 API,YApi還為用戶提供了優(yōu)秀的交互體驗,開發(fā)人員只需利用平臺提供的接口數據寫入工具以及簡單的點擊操作就可以實現(xiàn)接口的管理。

YApi讓接口開發(fā)更簡單高效,讓接口的管理更具可讀性、可維護性,讓團隊協(xié)作更合理。

源碼地址: https://github.com/YMFE/yapi

要使用YApi,可以自己進行部署。

Swagger

介紹

使用Swagger你只需要按照它的規(guī)范去定義接口及接口相關的信息,再通過Swagger衍生出來的一系列項目和工具,就可以做到生成各種格式的接口文檔,以及在線接口調試頁面等等。

官網:https://swagger.io/

knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案。

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.2</version>
</dependency>

使用方式

操作步驟:

  1. 導入knife4j的maven坐標

    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>knife4j-spring-boot-starter</artifactId>
        <version>3.0.2</version>
    </dependency>
    
  2. 導入knife4j相關配置類

  3. 設置靜態(tài)資源,否則接口文檔頁面無法訪問

最終的WebMvcConfig配置類:

package com.jihua.reggie.config;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import com.jihua.reggie.common.JacksonObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.List;

@Slf4j
@Configuration
@EnableSwagger2
@EnableKnife4j
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 設置靜態(tài)資源映射
     *
     * @param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("開始進行靜態(tài)資源映射...");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
        registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");
    }

    /**
     * 擴展mvc的消息轉換器
     *
     * @param converters
     */
    @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        log.info("擴展消息轉換器");
        //創(chuàng)建對象轉換器
        MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
        //設置對象轉換器,底層使用Jackson將Java對象轉為json
        messageConverter.setObjectMapper(new JacksonObjectMapper());
        //將上面的消息轉換器對象追加到mvc框架的轉換器集合中(并設置優(yōu)先級)
        converters.add(0, messageConverter);
    }

    @Bean
    public Docket createRestApi() {
        // 文檔類型
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.jihua.reggie.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("瑞吉外賣")
                .version("1.0")
                .description("瑞吉外賣接口文檔")
                .build();
    }
}
  1. 在LoginCheckFilter中設置不需要處理的請求路徑

    //定義不需要處理的請求路徑
    String[] urls = new String[]{
            "/employee/login",
            "/employee/logout",
            "/backend/**",
            "/front/**",
            "/user/login",//移動端登錄
            "/user/sendMsg",//移動端發(fā)送短信
            "/user/login",
            "/doc.html",
            "/webjars/**",
            "/swagger-resources",
            "/v2/api-docs"
    };
    

啟動項目訪問http://localhost:8080/doc.html查看生成的接口文檔

常用注解

注解 說明
@Api 用在請求的類上,例如Controller,表示對類的說明
@ApiModel 用在類上,通常是實體類,表示一個返回響應數據的信息
@ApiModelProperty 用在屬性上,描述響應類的屬性
@ApiOperation 用在請求的方法上,說明方法的用途、作用
@ApilmplicitParams 用在請求的方法上,表示一組參數說明
@ApilmplicitParam 用在@ApilmplicitParams注解中,指定一個請求參數的各個方面

項目部署

部署架構

瑞吉外賣項目——前后端分離

部署環(huán)境說明

服務器:

  • 192.168.138.100(服務器A)
    • Nginx:部署前端項目、配置反向代理
    • Mysql:主從復制結構中的主庫
  • 192.168.138.101(服務器B)
    • jdk:運行Java項目
    • git:版本控制工具
    • maven:項目構建工具
    • jar: Spring Boot項目打成jar包基于內置Tomcat運行
    • Mysql:主從復制結構中的從庫
  • 172.17.2.94(服務器C)
    • Redis:緩存中間件

部署前端項目

  • 第一步:在服務器A中安裝Nginx,前端代碼傳到Nginx的html目錄下

  • 第二步:修改Nginx配置文件nginx.conf(location和反向代理)

    location / {
    	root html/dist;
    	index index.html;
    }
    
    #反向代理配置
    location ^~ /api/ {
    	rewrite ^/api/(.*)$ /$1 break; #url重寫
    	proxy_pass http://192.168.138.101:8080;
    }
    

部署后端項目

  • 第一步∶在服務器B中安裝jdk、git、maven、MySQL,使用git clone命令將git遠程倉庫的代碼克隆下來

  • 第二步:將啟動腳本reggieStart.sh文件上傳到服務器B,通過chmod命令設置執(zhí)行權

    chmod 777 reggieStart.sh
    
  • 第三步:執(zhí)行reggieStart.sh腳本文件,自動部署項目文章來源地址http://www.zghlxwxcb.cn/news/detail-419692.html

到了這里,關于瑞吉外賣項目——前后端分離的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(九)

    基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(九)

    1.1 入門 在進行微信登錄之前我們要先知道HttpClient是什么,它是Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支持 HTTP 協(xié)議的客戶端編程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議。 HttpClient作用: 發(fā)送HTTP請求 接收響應數據 HttpClient應用場景

    2024年02月03日
    瀏覽(37)
  • 基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十一)

    基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十一)

    1.1 問題說明 用戶端小程序展示的菜品數據都是通過查詢數據庫獲得,如果用戶端訪問量比較大,數據庫訪問壓力隨之增大。 結果 :系統(tǒng)響應慢、用戶體驗差 1.2 實現(xiàn)思路 通過Redis來緩存菜品數據,減少數據庫查詢操作。 緩存邏輯分析: 每個分類下的菜品保存一份緩存數據

    2024年01月24日
    瀏覽(32)
  • 基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十三)

    基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十三)

    地址簿,指的是消費者用戶的地址信息,用戶登錄成功后可以維護自己的地址信息。同一個用戶可以有多個地址信息,但是只能有一個 默認地址 。 對于地址簿管理,有以下幾個功能: 查詢地址列表 新增地址 修改地址 刪除地址 設置默認地址 查詢默認地址 根據上述原型圖先

    2024年01月21日
    瀏覽(20)
  • 基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十二)

    基于SpringBoot+Redis的前后端分離外賣項目-蒼穹外賣微信小程序端(十二)

    1.1.1 產品原型 用戶可以將菜品或者套餐添加到購物車。對于菜品來說,如果設置了口味信息,則需要選擇規(guī)格后才能加入購物車;對于套餐來說,可以直接點擊+將當前套餐加入購物車。在購物車中可以修改菜品和套餐的數量,也可以清空購物車。 效果圖: 1.1.2 接口設計 通過

    2024年01月18日
    瀏覽(32)
  • 瑞吉外賣項目——瑞吉外賣

    瑞吉外賣項目——瑞吉外賣

    需求分析:產品原型、需求規(guī)格說明書 設計:產品文檔、UI界面設計、概要設計、詳細設計、數據庫設計 編碼:項目代碼、單元測試 測試:測試用例、測試報告 上線運維:軟件環(huán)境安裝、配置 項目經理:對整個項目負責,任務分配、把控進度 產品經理:進行需求調研,輸

    2023年04月26日
    瀏覽(21)
  • 基于SpringBoot+WebSocket+Spring Task的前后端分離外賣項目-訂單管理(十七)

    基于SpringBoot+WebSocket+Spring Task的前后端分離外賣項目-訂單管理(十七)

    1.1 介紹 Spring Task 是Spring框架提供的任務調度工具,可以按照約定的時間自動執(zhí)行某個代碼邏輯。 定位 :定時任務框架 作用 :定時自動執(zhí)行某段Java代碼 應用場景: 1). 信用卡每月還款提醒 2). 銀行貸款每月還款提醒 3). 火車票售票系統(tǒng)處理未支付訂單 4). 入職紀念日為用戶發(fā)

    2024年02月21日
    瀏覽(22)
  • 后端SpringBoot+前端Vue前后端分離的項目(一)

    后端SpringBoot+前端Vue前后端分離的項目(一)

    前言:后端使用SpringBoot框架,前端使用Vue框架,做一個前后端分離的小項目,需求:實現(xiàn)一個表格,具備新增、刪除、修改的功能。 目錄 一、數據庫表的設計 二、后端實現(xiàn) 環(huán)境配置 數據處理-增刪改查 model層 mapper層 XML配置 Service層 controller層 單元測試 三、前后端交互 配置

    2024年02月10日
    瀏覽(95)
  • 后端SpringBoot+前端Vue前后端分離的項目(二)

    后端SpringBoot+前端Vue前后端分離的項目(二)

    前言:完成一個列表,實現(xiàn)表頭的切換,字段的篩選,排序,分頁功能。 目錄 一、數據庫表的設計 二、后端實現(xiàn) 環(huán)境配置 model層 ?mapper層 service層 ?service層單元測試 controller層 三、前端實現(xiàn) interface接口 接口api層 主要代碼 效果展示 引入mybatis-plus依賴 MerchandiseDetailsService文

    2024年02月09日
    瀏覽(93)
  • 解決前后端分離項目后端設置響應頭前端無法獲取

    解決前后端分離項目后端設置響應頭前端無法獲取

    在開發(fā)前后端分離項目中出現(xiàn)后端設置響應頭,前端一直無法獲取等問題。 后端設置響應頭代碼如下 在瀏覽器中我們是可以看到設置的響應頭 Content-Disposition 屬性,但是在前端接收到的響應信息中卻看不到我們設置的 Content-Disposition 屬性。 原來在前后端分離的項目中除了需

    2024年02月04日
    瀏覽(100)
  • 項目筆記-瑞吉外賣(全)

    項目筆記-瑞吉外賣(全)

    1.對后端返回請求值的分析 2.對不同種請求參數的分析 3.事務管理 1.軟件開發(fā)整體介紹 2.項目整體介紹?? 后端:管理菜品和員工信息 前臺:通過手機端,可以瀏覽菜品和添加客戶端 開發(fā)項目流程: 實現(xiàn)基本需求,用戶能在手機瀏覽器訪問 對移動端應用改進,使用微信小程

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包