JavaEE_04_SpringMVC参数

《SpringMVC参数》

目录

  • 统一响应(精通)
  • 参数接受(熟练)

一、统一响应

前端请求后端接口,后端会响应数据,标准的响应体中应包含以下内容:

  • code:状态码;
  • msg:提示信息;
  • data:结果数据。

案例一

package com.hpr.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 统一响应体
 *
 * @param <T> 响应的数据类型
 */
@ApiModel("统一响应体")
public class Response<T> {
    /**
     * 状态码
     */
    @ApiModelProperty("状态码")
    private int code;

    /**
     * 提示信息
     */
    @ApiModelProperty("提示信息")
    private String msg;

    /**
     * 结果数据
     */
    @ApiModelProperty("结果数据")
    private T data;

    public Response(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Response(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

二、参数接受

Controller接受前端传来的参数主要有三种方式:

  1. 原生request、response:多用于文件流响应、文件下载操作;
  2. @RequestParam:接受单个参数;
  3. @RequestBody:接受请求体(对象)。

案例二(测试参数接受,省略Service层操作)

  1. com.hpr.controller.TestController
...
public class TestController {
    ...
    @GetMapping("/getUserById")
    @ApiOperation("根据账号查询指定用户信息")
    public Response<String> getUserById(HttpServletRequest request, HttpServletResponse response) {
        //原生request、response,多用于文件流响应、文件下载操作
        return new Response<>(200, "success", request.getParameter("userId"));
    }

    @GetMapping("/deleteUserById")
    @ApiOperation("删除用户信息")
    public Response<Integer> deleteUserById(@ApiParam("账号") @RequestParam int userId) {
        //@RequestParam,用于接受单个参数
        return new Response<>(500, "failed", userId);
    }

    @PostMapping("/addUser")
    @ApiOperation("添加用户信息")
    public Response<User> addUser(@ApiParam("要添加的用户信息") @RequestBody User user) {
        //@RequestBody,表示接受一个请求体,即一个对象
        return new Response<>(200, "success", user);
    }
}
  1. 启动测试。

执行结果

请添加图片描述

总结

重点

  1. 统一响应体类书写;
  2. 参数接受的三种方式。

难点

  1. 统一响应体的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值