一、前言
我最近接触了小程序的开发,并选择了Java作为后端。因为小程序的代码在腾讯的服务器上运行,而我们编写的Java代码在我们自己的已部署服务器上运行,所以并不是一开始我就了解小程序如何与后端通信,然后我搜索信息并发现在结合了官方api之后,它似乎与我们正常的web前端和后端通信没有什么不同。我有一个主意后就写了这个测试程序。
二、微信小程序发展基础1、不验证域名安全性
刚开始开发时,通常没有自己的服务器和域名,因此在本地编写时,请在“详细信息”下的“项目设置”中选中“不验证域名的安全性”。
2、了解wx.request(OBJECT)
您可以先阅读正式文件
对象参数说明:
成功返回参数说明:
数据数据描述:
最终发送到服务器的数据为String类型。如果传入的数据不是String类型,则将其转换为String。转换规则如下:
3、.json文件不能为空
必须添加{}
三、Java后端编写
主要框架springboot,开发工具构想,服务器阿里云服务器。
1、创建一个Maven项目并导入相关的依赖项:
2、创建application.yml文件,修改一些配置参数,等等。
server: port: 8083 ssl: key-store: classoath:xxxxxx.pfx key-store-password: xxxxxx key-store-type: xxxxxx
在实际项目中,可能涉及数据库,并且必须集成mybatis。在本文中,只需进行测试即可,而不要使用数据库进行测试
3、首先修改springboot启动程序:
package com.wx.m3;@ComponentScan(basePackages= "com.wx.m3")//添加扫包@ComponentScan(basePackages= "")@EnableAutoConfigurationpublic class M3Application { public static void main(String[] args) { SpringApplication.run(M3Application.class, args); }}
启动项目时,可以直接在运行上单击鼠标右键
4、正在编写用于微信小程序与Java后端通信的测试控制器,该控制器代码如下:
@RestController@SpringBootApplicationpublic class IndexController { @RequestMapping("getUser") public Map getUser(){ System.out.println("微信小程序正在调用..."); Map map = new HashMap(); List list = new ArrayList(); list.add("Amy"); list.add("Cathy"); map.put("list",list); System.out.println("微信小程序调用完成..."); return map; } @RequestMapping("") public String getTest(){ return "Hello world"; }}
到目前为止,简单的后端框架已基本完成
注意:@RestController和Controller批注之间的区别
@RestController等效于它可以在前端页面(网页)中以json字符串的形式传输从后端获取的数据。
微信小程序与背景数据之间的数据传输采用json消息的形式。这也是选择springboot框架开发小程序背景的主要原因之一,它可以促进小程序后端的开发。
四、小程序发起了网络请求
以下是请求数据的简单按钮的示例: