【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)

这篇具有很好参考价值的文章主要介绍了【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

请求参数传json对象,后端采用(pojo)接收的前提条件:

1.pom.xml文件加入坐标依赖:jackson-databind
2.Spring Boot 的启动类加注解:@EnableWebMvc
3.Spring Boot 的Controller接受参数采用:@RequestBody
4.postman入参采用json格式

1.pom.xml文件加入坐标:


<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>

2.Spring Boot 启动类:加注解:@EnableWebMvc


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@SpringBootApplication
@EnableWebMvc
@EnableFeignClients(basePackages = {
        "com.itheima.platform.common.feign.services.home",
        "com.itheima.bcg.service.fegin",
        "com.itheima.platform.common.feign.services.paperTask",
        "com.itheima.platform.common.feign.services.problem",
        "com.itheima.platform.common.feign.services.auth",
		"com.itheima.platform.common.feign.services.bpmn"})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

	@Bean
	public RestTemplate restTemplate() {
		//复杂构造函数的使用
		SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
		requestFactory.setConnectTimeout(300000);// 设置超时
		requestFactory.setReadTimeout(300000);
		RestTemplate restTemplate = new RestTemplate();
		restTemplate.setRequestFactory(requestFactory);
		return restTemplate;
	}

	@Bean
	public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
		SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
		factory.setConnectTimeout(150000);
		factory.setReadTimeout(50000);
		return factory;
	}
}

POJO类:


import lombok.Data;

@Data
public class Config {
    private int seqId;
    private int sortId;
    private String interfaceType;
    private String dicNameFirst;
    private int dicValueFirst;
    private String dicNameSecond;
    private int dicValueSecond;
    private String dicType;
    private String isEnable;
}

3.Controller接受参数采用:@RequestBody
Controller类:
备注:为了便于测试:Controller类只写了一个接口(实际开发可不要这样写噢)


	/*
     * 请求参数传json对象(POJO)
     *
     */
    @PostMapping(value = "/addTest")
    @AuthInterceptor("mg:get:addTest")
    public Result addTest(@RequestBody Config config) {
        try {
            return xxxListService.addTest(config);
        } catch (Exception e) {
            log.error("Controller addTest is error===:" + e.getMessage(), e);
            return Result.failure("测试成功");
        }
    }
    

Service类:

	Result addTest(Config config);

ServiceImpl类:


 	@Override
    public Result addTest(Config config) {
        List<Map<String, Object>> res = new ArrayList<>();
        String interfaceType = config.getInterfaceType();
        if(interfaceType.equals("add")){
            xxxListMapper.addTest(config);
        }
        else if(interfaceType.equals("del")){
            xxxListMapper.delTest(config);
        }
        else if(interfaceType.equals("modify")){
            xxxListMapper.modifyTest(config);
        }
        else if(interfaceType.equals("sel")){
            res = xxxListMapper.selTest(config);
        }
        return Result.success().result(res);
    }
    

Mapper类:

	
	//新增
    void addTest(Config config);
    //删除
    void delTest(Config config);
    //修改
    void modifyTest(Config config);
    //查询
    List<Map<String, Object>> selTest(Config config);
    

Mapper.xml类


	<!-- 新增 -->
    <insert id="addTest">
        INSERT IGNORE INTO xxx_other_list_dic
        (dicNameFirst,dicValueFirst,dicNameSecond,dicValueSecond,dicType,isEnable)
        VALUES
        (#{dicNameFirst},#{dicValueFirst},#{dicNameSecond},#{dicValueSecond},#{dicType},#{isEnable})
    </insert>
    <!-- 删除 -->
    <select id="delTest">
        delete
        FROM xxx_other_list_dic where
        <if test = "null != seqId and '' != seqId">
            seqId = #{seqId}
        </if>
    </select>
    <!-- 修改 -->
    <update id="modifyTest">
        update xxx_other_list_dic
        <set>
            <if test = "null != sortId and '' != sortId">
                sortId = #{sortId},
            </if>
            <if test = "null != isEnable and '' != isEnable">
                isEnable = #{isEnable}
            </if>
        </set>
        where
        <if test = "null != seqId and '' != seqId">
            seqId = #{seqId}
        </if>
    </update>
    <!-- 查询 -->
    <select id="selTest" resultType="map">
        SELECT *
        FROM xxx_other_list_dic where 1 = 1
        <if test="null != dicNameFirst and '' != dicNameFirst">
            and dicNameFirst = #{dicNameFirst}
        </if>
        <if test="null != dicValueFirst and '' != dicValueFirst">
            and dicValueFirst = #{dicValueFirst}
        </if>
        <if test="null != dicNameSecond and '' != dicNameSecond">
            and dicNameSecond = #{dicNameSecond}
        </if>
        <if test="null != dicValueSecond and '' != dicValueSecond">
            and dicValueSecond = #{dicValueSecond}
        </if>
        <if test="null != dicType and '' != dicType">
            and dicType = #{dicType}
        </if>
        <if test="null != isEnable and '' != isEnable">
            and isEnable = #{isEnable}
        </if>
        order by sortId
    </select>
    

4.postman入参采用json格式
postman 接口测试:
新增:
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
修改:

【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
查询:
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
删除:
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java
【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102),框架,java,spring boot,json,java文章来源地址https://www.toymoban.com/news/detail-624365.html

到了这里,关于【Spring Boot】请求参数传json对象,后端采用(pojo)CRUD案例(102)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue使用axios发送post请求携带json body参数,后端使用@RequestBody进行接收

    最近在做自己项目中,做一个非常简单的新增用户场景,但是使用原生axios发送post请求的时候,还是踩了不少坑的。 唉,说多了都是泪,小小一个新增业务,在自己前后端一起开发的时候,硬是搞了好久。 下面就把问题总结分享下,防止后人再踩坑。 首先先看下我的接口定

    2024年02月02日
    浏览(55)
  • Spring-Cloud-Gateway修改请求(json,form带文件请求)参数,返回值参数

    新项目需要在getway统一做入参、出参加解密,记录日志。记录一下form,x-www-form-urlencoded , json 这几种修改数据的方式。 gateway做拦截器是实现GlobalFilter接口,修改json方式网上有很多文章,后来又想研究研究能不能实现修改form-data参数,以及文件请求,后者文章不多大部分是怎

    2024年02月16日
    浏览(47)
  • Spring Boot请求处理-常用参数注解

    @PathVariable 路径变量 @RequestParam 获取请求参数 @RequestHeader 获取请求头 @RequestBody 获取请求体【Post】 @CookieValue 获取Cookie值 RequestAttribute 获取request域属性 @ModelAttribute 1. @PathVariable 该注解主要用于rest风格的搭配使用,请求路径中不再以 k:v 的形式给出请求参数和值;而是直接给定

    2024年02月10日
    浏览(54)
  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

    目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项: 2.获取对象  3.后端参数重命名@RequestParam 4.获取JSON对象@RequestBody 5.从 URL 地址中获取参数 @PathVariable 6.上传文件 @RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和 Response 对象 7.2 获取Cookie (1)Servlet 获取 Cooki

    2024年02月16日
    浏览(43)
  • Spring Boot中处理前端的POST请求参数

    在Spring Boot中处理前端的POST请求参数可以使用@RequestParam注解或@RequestBody注解。 @RequestParam注解用于获取请求参数的值,可以用于处理GET和POST请求。它可以指定参数的名称、是否必须、默认值等属性。 例如,假设前端发送了一个POST请求,请求参数为name和age,可以使用@Request

    2024年02月15日
    浏览(98)
  • Spring Boot学习笔记(十三)获取HTTP请求参数

    SpringBoot获取参数代码 User类: (1)路径参数 使用@PathVariable获取 (2)URL参数 1、使用@RequestParam获取 2、使用request的getParameter方法获取 3、直接在controller里使用同名的方法参数获取 4、使用实体类的同名属性接收参数 (3)表单参数 获取方式Url参数一样获取。GET请求只能拿到

    2024年02月04日
    浏览(53)
  • Spring Boot中使用JSR-303实现请求参数校验

    JSR-303是Java中的一个规范,用于实现请求参数校验。它定义了一组注解,可以应用于JavaBean的字段上,用于验证输入参数的合法性。下面是一些常用的JSR-303注解及其介绍: @NotNull :用于验证字段值不能为null。 @NotEmpty :用于验证字符串字段不能为空。 @NotBlank :用于验证字符

    2024年02月08日
    浏览(39)
  • spring-boot 请求参数校验:注解 @Validated 的使用、手动校验、自定义校验

    spring-boot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。 spring-boot已经引入了基础包,所以直接使用就可以。 在属性上添加校验注解: 在Controller上添加 @Validated 注解 校验未通过时,可能看到: 在 @Validated 后面紧跟着追加BindingResult,

    2023年04月16日
    浏览(106)
  • spring boot 单元测试JUnit5使用MockMvc调用get请求,post请求,设置head请求头,解析返回值json和字符串

    spring boot 单元测试JUnit5使用MockMvc调用get/post接口 源码地址:https://gitcode.net/qq_39339588/springboot.git 1. 先准备一份controller,一会儿供测试调用 2. MockMvc测试调用get请求接口 两个注解说明 @SpringBootTest // 加测试类上,标明是测试的类 @AutoConfigureMockMvc // 支持对MockMvc对象的注入和配置,

    2024年02月14日
    浏览(53)
  • Spring Boot框架中Controller层API接口如何支持使用多个@RequestBody注解接受请求体参数

    众所周知,在Spring Boot框架中,Controller层API接口编码获取请求体参数时,在参数上会使用@RequestBody注解;如果一次请求中,请求体参数携带的内容需要用多个参数接收时,能不能多次使用@RequestBody注解呢? 下面我们先测试一下,参考代码: PostMan进行请求: 服务端后端日志:

    2024年01月17日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包