# Spring REST @RequestBody  HTTP Error 415



## Mary (8. Apr 2015)

Hi,

ich versuche mich an REST mit Spring MVC.
Ich hatte klein angefangen mit einem GET mit einigen RequestParametern. Das hatte auch prima funktioniert.
Hier mal mein Beispiel:


```
@ResponseBody
@RequestMapping(value = "send/", method = RequestMethod.GET)
public void getName(
	@RequestParam("firstname") String firstname, 
	@RequestParam("lastname") String lastname, 
	Model model, HttpServletRequest request){
		  
		  System.out.println("Firstname: " + firstname);
		  System.out.println("Lastname: " + lastname);
}
```

konnte ich prima über
'http://localhost:8080/MyFirstREST/send/firstname=VornameA&lastname=Nachname'
aufrufen und alles hatte funnktioniert.

Jetzt habe ich allerdings ziemlich viele Parameter die ich übergeben will, daher wollte ich das nun über ein JSON machen.
Das habe ich leider nicht mehr hinbekommen. Habe einiges ausprobiert. Hier mal mein bisheriger Beispielcode:


```
@RequestMapping(value = "send/", method = RequestMethod.POST, produces="application/json", consumes="application/json")
public @ResponseBody JsonResponse getNameJson(@RequestBody  Person person) {
		
	System.out.println("Saved person: " + person.getFname() +" "+ person.getLname());
		
	return new JsonResponse("OK","");
}
```

Hier bekomme ich im Browser nun immer den Fehler 415:


> The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.




Ich hatte schon versucht das iwie zu lösen. Habe Antworten gefunden dass man den jackson-mapper im Classpath braucht, dass man <mvc:annotation-driven/> in der application-Context.xml einstellen muss. Hat alles nicht geholfen.

Mit @ModelAttribute hab ichs auch schon versucht, da gibts zwar keinen Fehler, aber iwie wird nichts übertragen, also das System.out liefert dann


> Saved person: null null



Was die Fehlermeldung angeht, ich dachte eigentlich mit:

```
consumes="application/json"
```
hätte ich eingestellt, dass der eben JSON akzeptiert?


Zum Testen benutze ich das AddOn HttpRequester von Firefox. Hier nehme ich einfach die Adresse:
'http://localhost:8080/MyFirstREST/send/'
und im Content Bereich gebe ich:
{fname:"my_firstname" , lname:"my_lastname"}
ein.

Mein Person-Objekt sieht wie folgt aus:

```
public class Person {
    public String fname;
    public String lname;

    public String getFname() {
        return fname;
    }
    public void setFname(String fname) {
        this.fname = fname;
    }
    public String getLname() {
        return lname;
    }
    public void setLname(String lname) {
        this.lname = lname;
    }
}
```


Kann mir vielleicht jemand weiterhelfen?


----------



## JeromeC (28. Jul 2015)

Welchen Applikationsserver nutzt du und welche Implementierung von JAX-RS?


----------

