Spring Boot Controller

目录

1.Spring Boot介绍

2.两种Controller

3.@RequestMapping的参数

4.实操


1.Spring Boot介绍

1.Spring Boot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。

2.创建SpringBoot项目勾选Spring Web选项后,会自动将spring-boot-starter-web组件加入到项目中。
3.spring-boot-starter-web启动器主要包括web、webmvc、ison、tomcat等基础依赖组件,作用是提供Web开发场景所需的所有底层依赖。
4.webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带的容器依赖。

2.两种Controller

1Spring Boot提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。
2如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据则可以使用@RestController注解。

3.@RequestMapping的参数

1.@RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的方法上。
2.@RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常用的属性参数如下:
value: 请求URL的路径,支持URL模板、正则表达式
method: HTTP请求方法
consumes: 请求的媒体类型!(Content-Type),如application/json
produces: 响应的媒体类型
params,headers: 请求的参数及请求头的值

这是主要就是value填URL,类似@RequestMapping("/user")。method填GET、POST、PUT、DELETE等方式,Method匹配也可以使用@GetMapping、@PostMapping等注解代替。

4.实操

先创建一个entity的包,然后创建一个User的类,定义一个用户有什么,把代码填进去,这里一个用户有用户名和密码

package com.example.helloworld.entity;

public class User {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username){
        this.username =username;
    }

    public String getPassword(){
        return password;
    }

    public void setPassword(String password){
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

在controller的包下面创建一个ParamsController的类,一定别忘了导入刚才创建的用户,会用到

import com.example.helloworld.entity.User;

package com.example.helloworld.controller;
import com.example.helloworld.entity.User;
import org.springframework.web.bind.annotation.*;

@RestController
public class ParamsController {
    @RequestMapping(value = "/getTest1", method = RequestMethod.GET)
    public String getTest1() {
        return "GET请求";
    }

    @RequestMapping(value = "/getTest2", method = RequestMethod.GET)
    public String getest2 (String nickname, String phone){
        System.out.println("nickname:" + nickname);
        System.out.println("phone:" + phone);
        return "GET请求";
    }

    @RequestMapping(value = "/getTest3", method = RequestMethod.GET)
    public String getTest3(@RequestParam(value = "nickname",required = false) String name){
        System.out.println("nickname:"+name);
        return "GET请求";
    }

    @RequestMapping(value ="/postTest1",method = RequestMethod.POST)
    public String postTest1() {
        return"POST请求";
    }

    @RequestMapping(value ="/postTest2",method=RequestMethod.POST)
    public String postTest2(String username,String password){
        System.out.println("username:"+username);
        System.out.println("password:"+password);
        return"POST请求";
    }
    @RequestMapping(value = "/postTest3",method = RequestMethod.POST)
    public String postTest3(User user) {
        System.out.println(user);
        return "POST请求";
    }
    @RequestMapping(value = "/postTest4",method = RequestMethod.POST)
    public String postTest4(@RequestBody User user) {
        System.out.println(user);
        return"POST请求";
    }
    @GetMapping("/test/**")
    public String test(){
        return "通配符请求";
    }
}

这里有八个实例

运行

前三个是用GET请求,浏览器访问

第一个实例进入浏览器localhost:8080/getTest1

 第二个实例进入浏览器localhost:8080/getTest2?nickname=zhangtianzhu&phone=123,网址里参数和传递一样,使用@RequestParam

第三个实例进入浏览器localhost:8080/getTest3?nickname=chenjiaming,因为网址里参数和传递不一样

第四个到第七个实例是POST请求,不能在网站地址栏,得下个软件模拟我这里下载了apipost,直接官网下就行,官网Apipost-API 文档、设计、调试、自动化测试一体化协作平台

仅为我安装

第四个实例localhost:8080/postTest1

第五个实例localhost:8080/postTest2

第六个实例localhost:8080/postTest3

第七个实例localhost:8080/postTest4,json类型加@RequestBody注解

最后一个是GET请求localhost:8080/test/sws,test后面随便加,@GetMapping("/test/**")和@RequestMapping(value = "/test/**", method = RequestMethod.GET)等同

### 回答1: Spring Boot控制器是一个Java类,用于处理HTTP请求并返回响应。它是Spring MVC框架的一部分,可以使用注解来定义请求映射和处理方法。Spring Boot控制器可以处理各种类型的请求,例如GET、POST、PUT和DELETE,并可以返回各种类型的响应,例如HTML、JSON和XML。它是构建Web应用程序的重要组件之一。 ### 回答2: Spring Boot是一个开发Web应用程序的框架,其中使用@Controller注解声明的类是视图控制器。这个控制器接收来自HTTP请求的用户输入,将其转换为Java对象,并将其发送到应用程序的其他部分进行处理。 @Controller注解是一个Spring MVC注解,它将一个类标记为一个控制器,并且这个控制器可以处理HTTP请求。在Spring Boot中,控制器类使用@Controller注解进行标记,该注解告诉Spring框架这个类是控制器,需要进行请求处理。此外,在@Controller注解上,还可以使用@RequestMapping注解进行更详细的声明,指定控制器类的特定处理函数处理哪些HTTP请求。 在Spring Boot中,控制器类包含各种处理函数,以处理不同类型的用户输入。控制器类中的每个处理函数都由Spring框架负责调用,这样,控制器类就可以将用户输入转换为Java对象,并将其发送到适当的处理程序中进行处理。 总而言之,Spring Boot中的控制器是一个非常重要的组件,用于接收并处理来自用户的HTTP请求。通过使用@Controller注解,Spring框架能够自动将请求路由到正确的处理程序,并在必要时将请求转换为Java对象。控制器类是Web应用程序的关键组成部分,可以帮助开发人员创建高效、可扩展的应用程序。 ### 回答3: Spring Boot ControllerSpring Boot 框架中的一个组件,用于管理和处理来自网络的请求和响应。它是 MVC 模式中的控制器,负责调度并响应浏览器或客户端发送的请求。 Spring Boot Controller 的最主要的功能就是接收来自浏览器、客户端等渠道的请求,然后根据请求中的参数、路径信息等,从后端系统中获取相应的数据,并将其封装成一个响应对象,最后通过网络返回给请求方。 Spring Boot Controller 实现一个简单的 GET 接口非常的简单,只需添加 @RestController 和 @RequestMapping 注解便可实现对外暴露的接口。 通过注解 @RequestMapping 可以指定该接口的请求路径、请求方式等信息。例如: @RestController @RequestMapping("/hello") public class HelloController { @GetMapping("/") public String hello() { return "Hello, World!"; } } 这个 Controller 配置了一个 GET 请求,访问路径为 "/hello/",返回值为 "Hello, World!"。 大多数Spring Boot Controller 都会从数据库、文件、或者其他接口中获取数据,然后对这些数据进行处理。因此,在实现一个 Spring Boot Controller 的过程中,通常还需要为其提供一个业务逻辑服务,以便能够从数据库或者其他接口中获取数据并进行处理。业务逻辑服务通常会被注入到 Controller 中,然后又被转换为 JSON 格式的响应对象返回给请求方。 因为 Spring Boot Controller 是 MVC 模式中的控制器,实现它需要使用到一系列 Spring Boot 模块和组件,比如 Spring Boot Web、Spring Boot Data JPA、Spring Boot Test 等等。这些模块和组件的主要作用是简化和规范化 Spring Boot Controller 的开发和测试,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值