feat(UpdateRecipe): implementado controlador para actualizar recetas básico

parent 30bbab4e
package com.example.apprecetas.recipe.infrastructure.controller;
import com.example.apprecetas.exceptions.UnvalidInputEntityException;
import com.example.apprecetas.recipe.application.UpdateRecipeUseCase;
import org.springframework.http.ResponseEntity;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeInputDto;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeOutputDto;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/recipe")
public class UpdateRecipeController {
@Autowired
private UpdateRecipeUseCase service;
@PutMapping("/{id}")
public ResponseEntity<RecipeOutputDto> update(@PathVariable Long id, @RequestBody @Valid RecipeInputDto recipeInputDto, BindingResult result) {
if(result.hasErrors()) {
String errorMsg = result.getFieldErrors().stream()
.map(fieldError -> fieldError.getField() + ": " + fieldError.getDefaultMessage())
.collect(Collectors.joining(";"));
throw new UnvalidInputEntityException(errorMsg);
}
return ResponseEntity.ok().body(service.update(id, recipeInputDto));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment