2017-11-01 1 views
0

Ich arbeite an einem Frühlingsprojekt.Wie kann ich eine Kopfzeile mit ungültiger Antwort senden?

Ich mache das gerade.

public ResponseEntity<?> create(@RequestBody final Some entity) { 
    // persist the entity here 
    final URI location = uriComponentsBuilder.path("{id}").buildAndExpand(entity.getId()).toUri(); 
    return ResponseEntity.created(location).build(); 
} 

Und ich fand die @ResponseStatus.

@ResponseStatus(HttpStatus.CREATED) 
public void create(@RequestBody @NotNull final BaseType entity) { 
    // persist the entity here 
    // Location header to where? 
} 

Gibt es eine Möglichkeit Location Header mit dieser Art und Weise zu schicken?

+0

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-return-types –

+0

@JBNizet Wird 'ResponseEntity ' sowieso arbeiten? –

+0

Warum testeest du es nicht selbst? –

Antwort

2

Sie können Antwort Entität zurückgeben wie unten:

return new ResponseEntity<>(location, HttpStatus.CREATED); 

oder

HttpHeaders headers = new HttpHeaders(); 
headers.add(location); 
return new ResponseEntity<>(headers, HttpStatus.CREATED); 
+0

Wird 'ResponseEntity ' trotzdem funktionieren? –

+1

@JinKwon ja, es wird –

0

bereits. Es gibt Ihren bevorzugten Header und Status ohne Body zurück.

@ResponseStatus(HttpStatus.I_AM_A_TEAPOT) 
@RequestMapping("/teapot") 
public HttpHeaders dummyMethod() { 
    HttpHeaders h = new HttpHeaders(); 
    h.add("MyHeader", "MyValue"); 
    return h; 
} 
Verwandte Themen