2016-03-04 105 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

已經在那裏。 –

回答