微信小程序與Java后端接口交互
本文主要介紹小程序前后端數(shù)據(jù)的交互,實(shí)踐演示。
準(zhǔn)備
創(chuàng)建后端項(xiàng)目
我這里就創(chuàng)建一個(gè)SpringBoot項(xiàng)目作為演示。
在創(chuàng)建項(xiàng)目中選擇Spring Initializr
要勾選SpringWeb框架,當(dāng)然你也可以后面導(dǎo)入,確認(rèn)好設(shè)置后,創(chuàng)建項(xiàng)目。
然后在Maven依賴中調(diào)整SpringBoot的版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <!-- <scope>test</scope>--> </dependency> </dependencies>
目錄結(jié)構(gòu)如下,缺少的自行創(chuàng)建:
配置文件application.yml配置如下(僅供參考),
server: port: 80 servlet: context-path: / tomcat: uri-encoding: utf-8
代碼HelloWeiXin類(后端接口,在controller層):
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @Author: Forward Seen * @CreateTime: 2022/04/22 17:10 * @Description: 微信小程序請求接口 */ @RestController public class HelloWeXin { @RequestMapping("/getMessage") public String getMessage(Integer userId) { return "Hello,微信用戶" + userId + "!"; } }
測試,然后我們就可以在瀏覽器訪問測試接口
這樣我們的后端接口就創(chuàng)建完成了。
創(chuàng)建小程序項(xiàng)目
打開微信開發(fā)者工具,創(chuàng)建項(xiàng)目:
模板我使用javascript基礎(chǔ)模板(js比較主流,推薦這個(gè)),創(chuàng)建即可。
具體的小程序?qū)W習(xí)請參考官方文檔
學(xué)習(xí)起來很簡單,我這里直接寫案例代碼了。
創(chuàng)建一個(gè)頁面,wxml代碼如下:
<!--pages/hello/helloworld.wxml--> <text>后端返回的數(shù)據(jù):{{message}}</text>
js代碼如下
// pages/hello/helloworld.js Page({ /** * 頁面的初始數(shù)據(jù) */ data: { message: "請求中。。。", }, getData() { const that = this wx.request({ url: 'http://localhost/getMessage', data: { userId: 666 }, method: 'GET', success(res) { console.log("請求狀態(tài):" + res.statusCode) console.log(res.data) that.setData({ message: res.data }) } }) }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { this.getData() }, })
我對這幾行代碼有如下解釋:wx.request(Object)
是請求的方法,具體用法請參考文檔中API的網(wǎng)絡(luò),
其中url,data,method都是該Object的屬性,顯而易見,url就是請求的接口地址,data中存放的是請求的參數(shù),method是請求方式,默認(rèn)是get。
success(response)是一個(gè)函數(shù),或者說對象中的方法,它是將請求成功返回來的結(jié)果拿回來,也就是回調(diào),回來的就是一個(gè)響應(yīng)對象,數(shù)據(jù)在響應(yīng)對象的data屬性中,我們操作它。
代碼中有幾個(gè)細(xì)節(jié)要注意:
我把回調(diào)過程都封裝在getData方法中,在onLoad方法中調(diào)用,onLoad你可以理解為內(nèi)置方法,它是在頁面加載是自動(dòng)調(diào)用的。
其次,在getData方法中使用了另一個(gè)對象,這個(gè)對象若向訪問頁面對象,要提前聲明個(gè)that = this,否則作用域不用,在success方法中this用的就是wx對象了。
如果你遇到如下問題,提示域名不安全,注意這不是跨域問題,只是由于訪問的地址沒有正規(guī)的檢查。
你需要手動(dòng)設(shè)置一下開發(fā)工具
在右上角的詳情,勾選這個(gè)
就ok了。
頁面和控制臺都是正常的了。
這就實(shí)現(xiàn)了前后端的交互。
到此這篇關(guān)于微信小程序與Java后端接口交互的文章就介紹到這了,更多相關(guān)微信小程序與Java后端接口交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無法通過@Autowired注入bean問題
這篇文章主要介紹了SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無法通過@Autowired注入bean問題的解決方法,需要的朋友可以參考下2018-09-09spring cloud學(xué)習(xí)教程之config修改配置詳解
這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)教程之config修改配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法
本文主要介紹了Java JSch遠(yuǎn)程執(zhí)行Shell命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Java內(nèi)部類原理與用法實(shí)例總結(jié)
這篇文章主要介紹了Java內(nèi)部類原理與用法,結(jié)合實(shí)例形式總結(jié)分析了非靜態(tài)內(nèi)部類、靜態(tài)內(nèi)部類、局部類等相關(guān)概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-08-08SpringBoot SSO輕松實(shí)現(xiàn)(附demo)
這篇文章主要介紹了SpringBoot SSO輕松實(shí)現(xiàn)(附demo),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Spring boot JPA實(shí)現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例
這篇文章主要介紹了Spring boot JPA實(shí)現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Java 反轉(zhuǎn)帶頭結(jié)點(diǎn)的單鏈表并顯示輸出的實(shí)現(xiàn)過程
這篇文章主要介紹了Java 反轉(zhuǎn)帶頭結(jié)點(diǎn)的單鏈表并顯示輸出,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11