Loading

SpringMVC-使用json传收参数

我们使用springmvc用json传输参数,要先把配置问题解决了,因为java原生的api并不支持json的类型,因此我们要导包

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

然后还要给handlerAdapter配置了json转换器,反应到我们的操作上就是加一个注解

package com.aurora.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

@EnableWebMvc//给handlerAdapter配置了json转换器
@Configuration
@ComponentScan("com.aurora.Json")
public class MvcConfig {

    @Bean
    public RequestMappingHandlerMapping handlerMapping(){
        return new RequestMappingHandlerMapping();
    }
    @Bean
    public RequestMappingHandlerAdapter handlerAdapter(){
        return new RequestMappingHandlerAdapter();
    }
}

处理json的controller

package com.aurora.Json;

import com.aurora.pojo.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@RequestMapping("json")
@Controller
@ResponseBody
public class JsonController {

    //data -> 请求体post {name,age,gender}
    //java原生的api不支持json,只支持路径和param
    //  1.导入json处理的依赖   2.给handlerAdapter配置json转换器
    @PostMapping("data")
    public String data(@RequestBody Person person){

        System.out.println("person = " + person);
        return person.toString();
    }
}

效果,乱码先不管

 

posted @ 2023-10-25 21:14  冰稀饭Aurora  阅读(58)  评论(0编辑  收藏  举报