У меня есть метод POST, который отправляет данные на сервер, и я хочу после этого вернуть данные.Когда я подписываюсь на метод post:
this.categoryService.storeCategory(this.currentFileUpload, this.category).subscribe(category => {
console.log("podaci" + category);
}
);
Это мой метод POST в Angular:
storeCategory(file: File, category: CategoryModel): Observable<HttpEvent<{}>> {
const formdata: FormData = new FormData();
console.log("1")
formdata.append('file', file);
formdata.append('category', new Blob([JSON.stringify({ "category_name": category.category_name, "category_description": category.category_description })], { type: "application/json" }))
const url = `api/cateogry/saveCategory`;
const req = new HttpRequest('POST', url, formdata, {
reportProgress: true,
responseType: 'text'
});
return this.http.request<CategoryModel[]>(req);
}
Это мой метод POST в Spring Boot:
@PostMapping(consumes = { "multipart/form-data" }, value = "/saveCategory")
@ResponseStatus(HttpStatus.OK)
public List<CategoryModel> createCategory(@RequestPart("category") @Valid CategoryModel category,
@RequestPart("file") @Valid @NotNull MultipartFile file) {
String fileName = fileStorageService.storeFile(file);
String workingDir = System.getProperty("user.dir") + "/uploads/";
category.setImage_path(workingDir + fileName);
this.fileStorageService.storeFile(file);
/*
* String fileURL =
* ServletUriComponentsBuilder.fromCurrentContextPath().path("/uploads/").path(
* fileName) .toUriString();
*/
this.categoryRepository.insertCategory(category.getCategory_description(), category.getImage_path(),
category.getCategory_name());
return this.categoryRepository.findAll();
}