2016-03-04 55 views
0

所以我在Spring中遇到了一些与@RequestBody相关的问题。当涉及到返回对象并让Spring自动解析它们时,我完全没有任何问题。我没有问题,如果我只声明一个字符串作为该方法的参数。下面是代码,我会什么,我想收到开始:在Spring中解析JSON与RequestBody

public class ToParse { 

    private String name; 

    ToParse() { 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

} 

这里是控制器:

@RestController 
@RequestMapping("/test") 
public class ConcreteTestController implements TestController { 

    @RequestMapping(method = RequestMethod.POST, consumes = {"application/json"}) 
    @ResponseStatus(value = HttpStatus.OK) 
    @Override 
    public ToParse getSilly(@RequestBody ToParse toParse) { 
     ToParse toReturn = new ToParse(); 
     toReturn.setName("stuff"); 
     return toReturn; 
    } 

    @RequestMapping(method = RequestMethod.GET) 
    @ResponseStatus(value = HttpStatus.OK) 
    @Override 
    public ToParse getSilly(String test) { 
     ToParse toReturn = new ToParse(); 
     toReturn.setName(test); 
     return toReturn; 
    } 
} 

需要注意的是第二种方法工作得很好。我送的头是“应用/ JSON的”第方法和JSON是:

{ 
    “name”:”blablabla” 
} 

试图调用使用的IntelliJ其余客户端的第一个方法,当我得到一个415错误。我的配置是在XML中,它是。

我在做什么错?这些类型的问题有很多答案,但通常通过修复头文件或Springconfig来解决它们。我看不出我做错了什么。

+0

应指定 在您的调度程序servlet bean配置文件中。 – Pragnani

+0

已经在那里。 –

回答