ホームページ  >  記事  >  Java  >  axios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?

axios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?

WBOY
WBOY転載
2023-05-13 10:34:132162ブラウズ

1. はじめに

システムを完成させるには、フロントエンドとバックエンドの対話が不可欠です。このプロセスは次のステップに分けることができます:

フロントエンドは、バックエンドにリクエストを送信し、バックエンド インターフェイスがそれを受信します。 フロントエンド パラメータを渡した後、データを処理するためにレイヤーごとにメソッドの呼び出しが開始され、バックエンドは最終データをフロントエンド インターフェイスに返します。フロントエンド リクエストが成功すると、データはインターフェイス

2にレンダリングされます。プロジェクト構造

フロントエンド テクノロジ: axios

バックエンド技術: SpringBoot (これは重要ではありませんが、コントロール層へのアクセスパス、いわゆるリクエストアドレスに対応するメソッドが必要です。SSM フレームワークを使用できます。 SSH フレームワークなど)

axios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?

上記は一般的なファイル構造です。バックエンドのデータ処理は誰でも問題なく実行できると思います。

# にすぎません。
  • ##コントロール層はフロン​​トエンドリクエストを受信し、対応するビジネス層インターフェイスメソッドを呼び出します

  • ##ビジネス層実装クラスはビジネス層インターフェイスを実装します
  • ビジネス層実装クラスのメソッドでデータ層インターフェイスを呼び出します。
  • データ層実装ファイル (mapper.xml) は、データ層インターフェイスを実装します。
  • 次に、結果を処理してレイヤーごとに返します
  • 3. コードの作成

ここでは、前部分のみを紹介します。エンド インターフェイス制御層、最初はフロントエンド インターフェイス

ステップ 1: 関連ファイルの導入

##ここでの axios は必要なものですリクエストを開始するためのファイル。これらのファイルは記事の最後に記載されています。 axios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?

フロントエンドのコードは次のとおりです:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试</title>
    <script src="../static/js/jquery.min.js"></script>
    <script src="../static/js/axios.min.js"></script>
</head>
<body>
<span id="text">我是前端默认值</span>
<script>
    window.onload =function() {  //一加载界面就调用
        $.ajax({url:"testTest?num=1",success:function(result){
                document.getElementById("text").innerHTML=result;
            }});
    };
</script>
</body>
</html>
バックエンドの制御層のコードは次のとおりです:

    @RequestMapping("/testTest")  //控制层
    @ResponseBody
    public int testTest(int num) {
        if(num==1) return 1;
        if(num==2) return 2;
        return 0;
    }
明らかに、皆さんも見てください。お分かりかと思いますが、フロントエンドはリクエストを送信するときに、アカウント番号やパスワードなどのデータを運ぶことができます。バックエンドはそれを受信すると、それを処理して、

フロントエンドがそれを受け取った後、レンダリングするか、操作が成功したことを示すプロンプトを表示することができます。

効果:

4. axios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?

1、文字列、整数などを使用します ( new 追加機能)

フロントエンドコード:

 <el-dialog title="创建车辆装备" :visible.sync="insertVisible" width="30%">
        <el-form :model="equipment" ref="equipment" label-width="100px" class="demo-ruleForm">
            <el-form-item label="名称" prop="name">
                <el-input v-model="equipment.name"></el-input>
            </el-form-item>
            <el-form-item label="类型" prop="type">
                <el-input v-model="equipment.type"></el-input>
            </el-form-item>
            <el-form-item label="库存数量" prop="inventory">
                <el-input type="number" v-model="equipment.inventory"></el-input>
            </el-form-item>
        </el-form>
        <span slot="footer" class="dialog-footer">
                <el-button @click="insertVisible = false">取 消</el-button>
                <el-button type="primary" @click="insertEquipment" data-toggle="modal" data-target="#myModal">确 定</el-button>
              </span>
    </el-dialog>
<script type="text/javascript">
    new Vue({
        el:"#box",
        data:{
            id:"",			//装备主键
            equipment:{},				//一条equipment数据
            insertVisible:false //新增提示框控制器:true显示/false隐藏
        },
        methods:{
            //打开新增提示框
            openInsertPanel:function(){
                this.insertVisible = true;
                this.equipment = {};
            },
            //创建equipment
            insertEquipment:function(){
                var name = this.equipment.name;
                var type = this.equipment.type;
                var inventory = this.equipment.inventory;
                var that = this;
                axios.put("insertEquipment?name="+name+"&type="+type+"&inventory="+inventory).then(function(result){
                    if(result.data.status){
                        that.selectAllEquipment();
                        that.insertVisible = false;
                    }else{
                        that.$message.error(result.data.message);
                        that.insertVisible = false;
                    }

                });
            },
        }
    });
</script>
バックエンドコード

    @RequestMapping("/insertEquipment")  //增加装备
    @ResponseBody
    public ResultMap insertEquipment(String name, String type,String inventory) {
        try {
            int realInventory=Integer.valueOf(inventory);
            Equipment equipment=new Equipment(name,type,realInventory);
            equipmentService.insertEquipment(equipment);
            resultMap.setStatus(true);
        } catch (Exception e) {
            resultMap.setStatus(false);
            resultMap.setMessage(e.getMessage());
        }
        return resultMap;
    }

以上がaxios と SpringBoot のフロントエンドは、データ対話のためにバックエンド インターフェイスをどのように呼び出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。