Spring MVC 返回的数据对象转Json的纯注解配置

1、pom.xml中引入jackson相关包

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

 最终引入的Jar包:
Spring MVC 返回的数据对象转Json的纯注解配置
 

 2、WebMvcConfig中配置Jackson的Bean

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.zx.test.shiro.controller", includeFilters = @Filter(classes = Controller.class), useDefaultFilters = false)
public class WebMvcConfig extends WebMvcConfigurerAdapter {
 
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        super.configureMessageConverters(converters);
        
        MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
        jsonConverter.setDefaultCharset(Charset.forName("UTF-8"));
        
        converters.add(jsonConverter);
    }
}

3、Controller代码

@RestController
public class LoginController {

    @RequestMapping(value = "/login")
    public ResponseBaseDto login(@RequestParam("userName") String userName, @RequestParam("password") String password) {
        Subject subject = SecurityUtils.getSubject();
        UsernamePasswordToken token = new UsernamePasswordToken(userName, password);
        try {
            subject.login(token);
        } catch (UnknownAccountException e) {
            e.printStackTrace();
            return new ResponseBaseDto("001", "用户名或密码错误");
        } catch (IncorrectCredentialsException e) {
            e.printStackTrace();
            return new ResponseBaseDto("001", "用户名或密码错误");
        }
        return new ResponseBaseDto("000");
    }
}

效果


Spring MVC 返回的数据对象转Json的纯注解配置
 

4、未配置的错误异常


Spring MVC 返回的数据对象转Json的纯注解配置