Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 在接口中指定时,Spring请求映射不起作用_Spring Mvc_Spring Boot - Fatal编程技术网

Spring mvc 在接口中指定时,Spring请求映射不起作用

Spring mvc 在接口中指定时,Spring请求映射不起作用,spring-mvc,spring-boot,Spring Mvc,Spring Boot,我在接口处编写请求映射,但它不起作用 请求/响应机构POJO: 公共类需求{ 私有字符串值; 私有字符串值; 公共字符串getFirstValue(){ 返回第一个值; } public ReqAa setFirstValue(字符串firstValue){ this.firstValue=firstValue; 归还这个; } 公共字符串getSecondValue(){ 返回第二个值; } public ReqAa setSecondValue(字符串secondValue){ this.s

我在接口处编写请求映射,但它不起作用

请求/响应机构POJO:

公共类需求{
私有字符串值;
私有字符串值;
公共字符串getFirstValue(){
返回第一个值;
}
public ReqAa setFirstValue(字符串firstValue){
this.firstValue=firstValue;
归还这个;
}
公共字符串getSecondValue(){
返回第二个值;
}
public ReqAa setSecondValue(字符串secondValue){
this.secondValue=secondValue;
归还这个;
}
}
公共类响应{
私有字符串状态;
RespAa(字符串状态){
这个状态=状态;
}
公共字符串getStatus(){
返回状态;
}
公共响应设置状态(字符串状态){
这个状态=状态;
归还这个;
}
}
接口:

公共接口A{
接口Aa{
@后映射(“/do/something”)
RespAa剂量测量(@RequestBody ReqAa);
}
界面Ab{
@后映射(“/do/other”)
RespAb doather(@RequestBody ReqAb);
}
}
@预授权(“hasAuthority('admin')”)
@请求映射(“/api/admin”)
公共接口IClient扩展了A.Aa{
}
休息控制器:

@RestController
公共类客户端实现IClient{
@凌驾
公共响应剂量测量(ReqAa ReqAa){
返回新RespAa(“成功”);
}
}
Spring boot
@RequestBody
无法映射为Body。它以它为参数

例如:

生成的请求:
/api/admin/do/something?firstValue=fv&secondValue=sv

预期映射:
/api/admin/do/something

请求主体:
{“firstValue”:“fv”,“secondValue”:“sv”}

当我在实现方法中使用@RequestBody时,它就起作用了

@RestController
public class Client implements IClient{
    @Override
    public RespAa doSomething(@RequestBody ReqAa reqAa) {
        return new RespAa("SUCCESS");
    }
}

我使用了spring引导版本:
1.5.10

我使用界面默认方法解决了我的问题。 此处的工作代码:

接口:

公共接口A{
接口Aa{
RespAa剂量测定法(ReqAa);
@后映射(“/do/something”)
默认响应(@RequestBody ReqAa){
返回剂量测量(ReqAa);
}
}
界面Ab{
@后映射(“/do/other”)
RespAb doather(@RequestBody ReqAb);
}
}
@预授权(“hasAuthority('admin')”)
@请求映射(“/api/admin”)
公共接口IClient扩展了A.Aa{
}
休息控制器:

@RestController
公共类客户端实现IClient{
@凌驾
公共响应剂量测量(ReqAa ReqAa){
返回新RespAa(“成功”);
}
}

欢迎来到StackOverflow!我编辑了你的问题以提高可读性。也许你可以提供更多关于你的“症状”的信息?你有404吗?我有200。但是错误的请求映射。我希望post请求带有主体,但其映射为参数而不是主体。