2

我已经将 Katharsis 与 spring-boot (MVC + Security) 集成在一起,我对此感到非常高兴。

@SpringBootApplication
@Import(KatharsisConfigV2.class)
@Configuration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

我开始使用额外的 spring mvc 控制器来设置安全性来处理登录和注销方法。

但是使用 RequestBody 带注释的参数将 json 转换为 java 对象,我得到了 400 响应,告诉我缺少所需的正文。

@RequestMapping(value = "/auth/signup", method = RequestMethod.POST)
public @ResponseBody AuthenticationResponse signup(
        @RequestBody AuthenticationRequest authenticationRequest) {
    ...
}

当我删除 Katharsis 配置的导入时,一切正常。

@SpringBootApplication
//@Import(KatharsisConfigV2.class)
@Configuration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

我如何调整我的项目配置以允许基本的 spring 控制器接受标准 JSON?

提前致谢

4

1 回答 1

0

响应"detail"字段中的确切信息是什么? Katharsis-Spring提供了不错的错误详细信息。这应该可以让您更好地了解到底出了什么问题。

请记住,POSTJSON API 中的主体将不同于它们在常规 Spring 中的外观,例如,您的有效负载中需要有一个"data"字段。

您可能还需要在application.properties文件中配置 Katharsis。除非配置正确,否则 Katharsis 无法处理请求。

希望这可以帮助。

于 2016-12-17T01:38:16.613 回答