Мой метод записи не возвращает данные с сервера после публикации - PullRequest
0 голосов
/ 07 марта 2019

У меня есть метод 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();
    }

1 Ответ

2 голосов
/ 08 марта 2019

@ResponseBody отсутствует в вашем контроллере метод createCategory. Аннотация @ResponseBody сообщает контроллеру, что возвращаемый объект автоматически сериализуется в JSON и передается обратно в объект HttpResponse. Проверьте это для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...