1、pom.xml中引入jackson相关包
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.5</version> </dependency>
最终引入的Jar包:
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");
}
}
效果
4、未配置的错误异常