Skip to content

Commit 1b4d491

Browse files
committed
🚧 (TestimonialController) create controller
1 parent edf21d5 commit 1b4d491

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package ecureuill.milhasapi.controller;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.http.HttpStatus;
5+
import org.springframework.http.ResponseEntity;
6+
import org.springframework.web.bind.annotation.PostMapping;
7+
import org.springframework.web.bind.annotation.RequestBody;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
import org.springframework.web.bind.annotation.ResponseStatus;
10+
import org.springframework.web.bind.annotation.RestController;
11+
import org.springframework.web.util.UriComponentsBuilder;
12+
13+
import ecureuill.milhasapi.domain.testimonial.Testimonial;
14+
import ecureuill.milhasapi.domain.testimonial.TestimonialCreateRecord;
15+
import ecureuill.milhasapi.domain.testimonial.TestimonialDetailRecord;
16+
import ecureuill.milhasapi.domain.testimonial.TestimonialRepository;
17+
import jakarta.transaction.Transactional;
18+
import jakarta.validation.Valid;
19+
20+
@RestController
21+
@RequestMapping("/depoimentos")
22+
public class TestimonialController {
23+
24+
@Autowired
25+
private TestimonialRepository repository;
26+
27+
@PostMapping
28+
@Transactional
29+
@ResponseStatus(HttpStatus.CREATED)
30+
public ResponseEntity<TestimonialDetailRecord> save(@RequestBody @Valid TestimonialCreateRecord record, UriComponentsBuilder uriBuilder){
31+
var doctor = repository.save(new Testimonial(record));
32+
var uri = uriBuilder.path("/doctors/{id}").buildAndExpand(doctor.getId()).toUri();
33+
var dto = new TestimonialDetailRecord(doctor);
34+
35+
return ResponseEntity.created(uri).body(dto);
36+
}
37+
38+
}

0 commit comments

Comments
 (0)