SpringBoot学习新手项初识请求

初步认识get和post 请求。


1.新建项目

2.选择SpringWeb

3.编写代码

java 复制代码
package com.example.springbootstudyone.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

@RestController
public class HelloController {
    @Value("${spring.application.name}")
    private String appName;

    @GetMapping("/hello")
    public String hello() {
        return "Hello from" + appName;
    }

    @GetMapping("/getUser")
    public Map<String, Object> json() {
        Map<String, Object> user = new HashMap<>();
        user.put("name", "张三");
        user.put("age", "23");

        return user;
    }

    @GetMapping("/user/{id}")
    public Map<String, Object> getUserById(@PathVariable String id) {
        Map<String, Object> user = new HashMap<>();
        user.put("id", id);
        user.put("name", "张三");
        return user;
    }

    /**
     * 接收 raw
     * 参数在Body中,可嵌套/数组,结构清洗,现在主流
     * 新系统,REST API,App,小程序,复杂对象
     * @param user
     * @return
     */
    @PostMapping("/addUser")
    public Map<String, Object> addUser(@RequestBody Map<String, Object> user) {
        System.out.println("接收到数据:" + user.toString());
        return user;
    }

    /**
     * 接收 params
     * 接收不明确的参数
     * 拼在URL后面,所有人都能看到,长度有限,不能放敏感数据
     * 分页,查询,搜索的时候用
     *
     * @param user
     * @return
     */
    @PostMapping("/addClass")
    public Map<String, Object> addClass(@RequestParam Map<String, Object> user) {
        System.out.println("接收到数据:" + user.toString());
        return user;
    }

    /**
     * 接收 x_www_form_urlencoded
     * 接收明确的参数,并且转化类型
     * 参数在body中
     * 格式为key=value,不能嵌套,老系统/表单常用
     * 登录,HTML表单,兼容老接口
     * @param name
     * @param id
     * @param age
     * @return
     */
    @PostMapping("/addUserTwo")
    public Map<String, Object> addUserTwo(@RequestParam String name,
                                          @RequestParam String id,
                                          @RequestParam Integer age) {
        System.out.println("name" + name);
        System.out.println("id" + id);
        System.out.println("age" + age);

        Map<String, Object> user = new HashMap<>();
        user.put("name", name);
        user.put("id", id);
        user.put("age", age);
        return user;
    }
}

4.get请求,hello

5.get请求,getUser

6.get请求 user

7.post请求,raw方式,addUser

8.post 请求 params方式,addClass

9.post请求 x_www_form_urlencoded方式,addUserTwo

最基础的请求完成了。

相关推荐
sun༒12 小时前
Spring @Scheduled 定时任务详解:Cron表达式、执行顺序、优先级与并行调度
java·后端·spring
一次旅行12 小时前
DeepSeek‑V4‑Flash‑Vision‑Exp 小白入门实战|3种传图方式、完整可跑代码、避坑排障
java·前端·人工智能
丰锋ff13 小时前
基于 Qt 的智慧社区物业管理系统学习过程
学习
小贺儿开发13 小时前
Unity 程序员编曲花絮:汪峰《河流》细节修复
科技·学习·unity·程序员·音乐·demo·写代码
野生技术架构师13 小时前
Spring Boot 实现数据脱敏:自定义注解 + Jackson 序列化器
java·spring boot·后端
其实防守也摸鱼13 小时前
Codex破局:前端组件秒级生成的技术文章大纲
开发语言·前端·人工智能·学习·安全·web安全
AI人工智能+电脑小能手13 小时前
大白话说Java设计模式-28-模板方法模式(业务实战篇)
java·设计模式·模板方法模式·spring源码·订单系统·代码复用
wuhuhuan13 小时前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter
奥莱维13 小时前
KNX酒店方案_KNX专用线与高端酒店技术逻辑
java·服务器·前端·数据库
工业一体机老司机13 小时前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器