mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-18 22:05:50 +00:00
git commit -m "Added endpoints, model, schema, and services for pet attributes"
This commit is contained in:
parent
0c88f916db
commit
91b9831915
6 changed files with 143 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
||||||
|
package org.springframework.samples.petclinic.controller;
|
||||||
|
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.samples.petclinic.model.PetTypes;
|
||||||
|
import org.springframework.samples.petclinic.service.PetTypeService;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/pettypes")
|
||||||
|
public class PetTypeController {
|
||||||
|
|
||||||
|
private final PetTypeService petTypeService;
|
||||||
|
|
||||||
|
public PetTypeController(PetTypeService petTypeService) {
|
||||||
|
this.petTypeService = petTypeService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
public ResponseEntity<PetTypes> createPetType(@RequestBody PetTypes petType) {
|
||||||
|
PetTypes savedPetType = petTypeService.save(petType);
|
||||||
|
return ResponseEntity.ok(savedPetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
public ResponseEntity<List<PetTypes>> getAllPetTypes() {
|
||||||
|
List<PetTypes> petTypes = petTypeService.findAll();
|
||||||
|
return ResponseEntity.ok(petTypes);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
package org.springframework.samples.petclinic.model;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "pet_types")
|
||||||
|
public class PetTypes {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(nullable = false)
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String temperament;
|
||||||
|
|
||||||
|
private Double length;
|
||||||
|
|
||||||
|
private Double weight;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTemperament() {
|
||||||
|
return temperament;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTemperament(String temperament) {
|
||||||
|
this.temperament = temperament;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getLength() {
|
||||||
|
return length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLength(Double length) {
|
||||||
|
this.length = length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getWeight() {
|
||||||
|
return weight;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeight(Double weight) {
|
||||||
|
this.weight = weight;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
package org.springframework.samples.petclinic.repository;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.samples.petclinic.model.PetTypes;
|
||||||
|
|
||||||
|
public interface PetTypeRepository extends JpaRepository<PetTypes, Long> {
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
package org.springframework.samples.petclinic.service;
|
||||||
|
|
||||||
|
import org.springframework.samples.petclinic.model.PetTypes;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface PetTypeService {
|
||||||
|
PetTypes save(PetTypes petType);
|
||||||
|
List<PetTypes> findAll();
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
package org.springframework.samples.petclinic.service;
|
||||||
|
|
||||||
|
import org.springframework.samples.petclinic.model.PetTypes;
|
||||||
|
import org.springframework.samples.petclinic.repository.PetTypeRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class PetTypeServiceImpl implements PetTypeService {
|
||||||
|
|
||||||
|
private final PetTypeRepository petTypeRepository;
|
||||||
|
|
||||||
|
public PetTypeServiceImpl(PetTypeRepository petTypeRepository) {
|
||||||
|
this.petTypeRepository = petTypeRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PetTypes save(PetTypes petType) {
|
||||||
|
return petTypeRepository.save(petType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PetTypes> findAll() {
|
||||||
|
return petTypeRepository.findAll();
|
||||||
|
}
|
||||||
|
}
|
7
src/main/resources/db/migration/pet_types.sql
Normal file
7
src/main/resources/db/migration/pet_types.sql
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
CREATE TABLE pet_types (
|
||||||
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
name VARCHAR(255) NOT NULL,
|
||||||
|
temperament VARCHAR(255),
|
||||||
|
length DOUBLE,
|
||||||
|
weight DOUBLE,
|
||||||
|
);
|
Loading…
Reference in a new issue