REST POST -> return

PollerJava

Top Contributor
Hallo,

ich hätte noch eine Frage zu RestFul Services.
Wenn ich mir POST ein JSON- Object zum Server übertrage, darf/soll/kann dann diese Methode, welche für POST zuständig ist, auch etwas zurückgeben (ein Objekt, boolean o.ä.) oder muss/soll das dann über GET gelöst werden?

Besten Dank für Antworten,
lg
Poller
 
Ich verwende Spring und meine Methode schaut so aus:

Java:
@RequestMapping(value="/{registration}", method=RequestMethod.POST, headers ={"Accept=application/json"})	
	@ResponseStatus(HttpStatus.OK)
	public void postMobile(/*@PathVariable("registration") String registrationName,*/ @RequestBody Registration registration) {
		System.out.println("POOOOOOST: " + registration);
		//return true;
	}

Retuniert kann da nur über @ResponseStatus(HttpStatus.OK) werden, return true oder sowas funktioniert nicht, da gibts eine Exception (weiß jetzt nicht mehr welche)

lg
Poller
 
Moin,

ich hätte noch eine Frage zu RestFul Services.
Wenn ich mir POST ein JSON- Object zum Server übertrage, darf/soll/kann dann diese Methode, welche für POST zuständig ist, auch etwas zurückgeben (ein Objekt, boolean o.ä.) oder muss/soll das dann über GET gelöst werden?

also ein REST-Service !== Rest Service.
Ich habe viele Projekte gesehen, die meiner Meinung nach nicht die Konventionen und Ideen eines RestServices verwirklichen, sondern immer schummeln 😉

Sobald du wirklich ein REST Service bauen möchteste, sollte dir bewusst sein, dass du das HTTP Protokoll und deren Methoden verwendest.

Stelle dir vor du hast eine Anwendung mit einer Userverwaltung.

GET /users -> alle user zurück geben
GET /users/1 -> user mit 1 zurück geben
POST /users -> user erstellen , POST IST NICHT ZUM HOLEN VON DATEN
PUT /user/1 -> user ändern
DELETE /user/1 -> user löschen


Jede dieser Methoden darf auch etwas zurückgeben. (Response)
Du solltest dabei zwischen XML , JSON und weiteren unterscheiden. Sobald du dich für JSON entscheidest, dann musst du application/json der Antwort mitgeben. application/xml analog.


Java:
@RequestMapping(value="/{registration}", method=RequestMethod.POST, headers ={"Accept=application/json"})   
    @ResponseStatus(HttpStatus.OK)
    public void postMobile(/*@PathVariable("registration") String registrationName,*/ @RequestBody Registration registration) {
        System.out.println("POOOOOOST: " + registration);
        //return true;
    }

Spring Rest Doku

Schau mal hier - also ich kennen mich leider mit Spring nicht so aus - aber bischen gegooglet und du bekommst tausende REST Examples. grüße spin
 

Zurück
Oben