Backend Development 10 min read

Building a WeChat Mini Program with a Spring Boot Backend: Step‑by‑Step Guide

This tutorial walks through creating a WeChat mini‑program, setting up a Spring Boot backend with Maven dependencies, configuring SSL, writing REST controllers, invoking the APIs from the mini‑program using wx.request, and deploying the service on a Linux server.

Java Captain
Java Captain
Java Captain
Building a WeChat Mini Program with a Spring Boot Backend: Step‑by‑Step Guide

WeChat mini‑programs are increasingly popular, and this article records the author’s experience developing a simple mini‑program together with a Spring Boot backend.

Project setup : In the mini‑program IDE, disable domain verification, and refer to the official component and API documentation.

Backend construction : A Maven project is created with the following <!-- 统一版本控制 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <!-- freemarker渲染页面 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- spring boot 核心 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot整合jsp --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> in pom.xml . The application.properties file configures JSP view prefixes, SSL certificate paths, and server port (443).

The main Spring Boot entry class is:

@ComponentScan(basePackages="com.bin")
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

A simple REST controller provides two endpoints: /getUser returns a list of names, and /getWord returns a message based on the supplied word parameter. The controller code is:

@RestController
@SpringBootApplication
public class ControllerText {
    @RequestMapping("getUser")
    public Map
getUser(){
        System.out.println("微信小程序正在调用。。。");
        Map
map = new HashMap<>();
        List
list = new ArrayList<>();
        list.add("zhangsan");
        list.add("lisi");
        list.add("wanger");
        list.add("mazi");
        map.put("list",list);
        System.out.println("微信小程序调用完成。。。");
        return map;
    }
    @RequestMapping("getWord")
    public Map
getText(String word){
        Map
map = new HashMap<>();
        String message = "我能力有限,不要为难我";
        if ("后来".equals(word)) {
            message = "正在热映的后来的我们是刘若英的处女作。";
        } else if ("微信小程序".equals(word)) {
            message = "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。";
        } else if ("西安工业大学".equals(word)) {
            message = "西安工业大学(Xi'an Technological University)简称…"; // truncated for brevity
        }
        map.put("message", message);
        return map;
    }
    @RequestMapping("")
    public String getText(){
        return "hello world";
    }
}

Mini‑program side : The .wxml defines a button and a view to display the returned list. The .js uses wx.request to call http://localhost:443/getUser and populates the page data. A second request sends a word parameter to /getWord and shows the returned message.

// Example request in mini‑program
wx.request({
  url: 'http://localhost:443/getUser',
  method: 'GET',
  header: {'content-type': 'application/json'},
  success: function(res){
    var list = res.data.list;
    if (list == null) {
      wx.showToast({title: '数据获取失败', icon: '', duration: 2000});
    } else {
      that.setData({list: list});
    }
  }
});

After implementing both sides, the mini‑program can successfully retrieve data from the Spring Boot API.

Deployment : The author recommends building a runnable JAR and deploying it on an Alibaba Cloud lightweight server with JDK installed. The command used is nohup java -jar helloworld.jar & , which keeps the service running in the background.

Finally, a Baidu Cloud link is provided for the source code, and the author invites readers to like and share the post.

WeChat Mini ProgramSpring BootHTTPSBackend APIJava RESTLinux Deployment
Java Captain
Written by

Java Captain

Focused on Java technologies: SSM, the Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading; occasionally covers DevOps tools like Jenkins, Nexus, Docker, ELK; shares practical tech insights and is dedicated to full‑stack Java development.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.