После публикации в базе данных SpringEntity возвращает responseEntity.Тестирование возвращенного значения с помощью «Почтальон» показывает мне 9 заголовков, которые включают идентификатор созданного объекта.Но когда я пишу с использованием typeScript, который я использую для графического интерфейса, я получаю только 3 заголовка.
Код Spring-Java:
@PostMapping
@Transactional
public ResponseEntity<Void> create(@Valid @RequestBody SpotCreateRequest spotCreateRequest) {
Spot spot = new Spot();
if (spotCreateRequest.getParentReference() != null) {
Spot parentSpot = spotRepository.findById(spotCreateRequest.getParentReference()).orElseThrow(
() -> new EntityNotFoundException(String.format("Can't find parent spot with id = %s", spotCreateRequest.getParentReference())));
spot.setParent(parentSpot);
if (spotCreateRequest.getLevel() != null) {
spot.setLevel(spotCreateRequest.getLevel());
} else {
spot.setLevel(parentSpot.getLevel() + 1);
}
} else {
spot.setLevel(0);
}
spot.setLabel(spotCreateRequest.getLabel());
spot.setCode(spotCreateRequest.getCode());
spot = spotRepository.save(spot);
final URI uri = fromController(getClass()).path("/{id}").buildAndExpand(spot.getId()).toUri();
return ResponseEntity.created(uri).build();
}
Код TypeScript:
this.spotService.create(createRequest).subscribe(success => {
nbreChildren[0]--;
this.createChildren(createRequest, nbreChildren);
console.log(success.clone());
/* this.createChildren(createRequest, nbreChildren.slice(1)); */
});
Я ожидал: заголовки, которые я получаю от почтальона
Location →http://localhost:9081/spots/df7a723d-372b-4309-bc1b-833ccaec499f
X-Content-Type-Options →nosniff
X-XSS-Protection →1; mode=block
Cache-Control →no-cache, no-store, max-age=0, must-revalidate
Pragma →no-cache
Expires →0
X-Frame-Options →DENY
Content-Length →0
Date →Thu, 06 Jun 2019 08:49:29 GMT
Я получаю: исходное изображение httpResponse ниже
HttpResponse {headers: HttpHeaders, status: 201, statusText: "OK", url: "http://localhost:9080/addressing-service/spots", ok: true, …}
body: null
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
ok: true
status: 201
statusText: "OK"
type: 4
url: "http://localhost:9080/addressing-service/spots"
__proto__: HttpResponseBase