Skip to content

Commit 55c9d58

Browse files
Merge pull request #2 from matthieuLabaune/develop
Develop
2 parents 5fc721a + 0106726 commit 55c9d58

14 files changed

Lines changed: 195 additions & 215 deletions

File tree

pom.xml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<description>Demo project for Spring Boot</description>
1616

1717
<properties>
18-
<java.version>11</java.version>
18+
<java.version>15</java.version>
1919
</properties>
2020

2121
<dependencies>
@@ -33,6 +33,24 @@
3333
<artifactId>spring-boot-starter-test</artifactId>
3434
<scope>test</scope>
3535
</dependency>
36+
37+
<dependency>
38+
<groupId>io.springfox</groupId>
39+
<artifactId>springfox-swagger2</artifactId>
40+
<version>2.8.0</version>
41+
</dependency>
42+
<dependency>
43+
<groupId>io.springfox</groupId>
44+
<artifactId>springfox-swagger-ui</artifactId>
45+
<version>2.8.0</version>
46+
</dependency>
47+
48+
<dependency>
49+
<groupId>javax.xml.bind</groupId>
50+
<artifactId>jaxb-api</artifactId>
51+
<version>2.3.0</version>
52+
</dependency>
53+
3654
</dependencies>
3755

3856
<build>

src/main/java/com/ecars/microcars/MicrocarsApplication.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package com.ecars.microcars;
22

3+
import jdk.jfr.Enabled;
34
import org.springframework.boot.SpringApplication;
45
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
import springfox.documentation.swagger2.annotations.EnableSwagger2;
7+
58

69
@SpringBootApplication
10+
@EnableSwagger2
711
public class MicrocarsApplication {
812

913
public static void main(String[] args) {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.ecars.microcars.configuration;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import springfox.documentation.builders.PathSelectors;
6+
import springfox.documentation.builders.RequestHandlerSelectors;
7+
import springfox.documentation.spi.DocumentationType;
8+
import springfox.documentation.spring.web.plugins.Docket;
9+
import springfox.documentation.swagger2.annotations.EnableSwagger2;
10+
11+
@Configuration
12+
@EnableSwagger2
13+
public class SwaggerConfig {
14+
@Bean
15+
public Docket api() {
16+
return new Docket(DocumentationType.SWAGGER_2)
17+
.select()
18+
.apis(RequestHandlerSelectors.basePackage("com.ecars.microcars"))
19+
.paths(PathSelectors.any())
20+
.build();
21+
}
22+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.ecars.microcars.controller;
2+
3+
import com.ecars.microcars.dao.CarDao;
4+
import com.ecars.microcars.model.Car;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.http.HttpStatus;
7+
import org.springframework.http.ResponseEntity;
8+
import org.springframework.web.bind.annotation.*;
9+
10+
import javax.sql.rowset.CachedRowSet;
11+
import java.util.List;
12+
13+
@RestController
14+
public class CarController {
15+
16+
@Autowired //Instanciation automatique
17+
private CarDao carDao;
18+
19+
//INDEX => /cars
20+
@GetMapping(value = "cars") //GET Mapping pour l'uri pour la liste des voitures
21+
public List<Car> listCars() {
22+
return carDao.findAll();
23+
}
24+
25+
//SHOW BY ID => /cars/{id}
26+
@GetMapping(value = "cars/{id}") //GET Mapping pour l'uri pour retourner une voiture par l'id
27+
public Car showCar(@PathVariable int id) {// Va chercher le paramètre id dans l'url et le passe à notre méthode
28+
return carDao.findById(id);
29+
}
30+
31+
//STORE /cars
32+
@PostMapping(value = "cars")
33+
public void storeCar(@RequestBody Car car) { // Aller chercher dans le body de la requête la voiture et le parser
34+
carDao.save(car);
35+
}
36+
37+
@PutMapping(value = "/cars/{id}")
38+
public ResponseEntity<?> updateCar(@PathVariable("id") int id, @RequestBody Car car) {
39+
Car currentCar = carDao.findById(id);
40+
currentCar.setBrand(car.getBrand());
41+
currentCar.setModel(car.getModel());
42+
carDao.updateCar(currentCar);
43+
return new ResponseEntity<Car>(currentCar, HttpStatus.OK);
44+
}
45+
46+
//DELETE
47+
@DeleteMapping (value = "/cars/{id}")
48+
public void deleteCar(@PathVariable int id) {
49+
carDao.deleteCar(id);
50+
}
51+
}

src/main/java/com/ecars/microcars/controller/MainController.java

Lines changed: 0 additions & 77 deletions
This file was deleted.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.ecars.microcars.dao;
2+
3+
import com.ecars.microcars.model.Car;
4+
5+
import java.util.List;
6+
7+
public interface CarDao {
8+
9+
//Contrats pour CarDao
10+
public List<Car> findAll();
11+
12+
public Car findById(int id);
13+
14+
public Car save(Car car);
15+
16+
public Car updateCar(Car car);
17+
18+
public Car deleteCar(int id);
19+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.ecars.microcars.dao;
2+
3+
import com.ecars.microcars.model.Car;
4+
import org.springframework.stereotype.Repository;
5+
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
9+
@Repository
10+
public class CarDaoImpl implements CarDao {
11+
12+
public static List<Car> cars = new ArrayList<>();
13+
14+
static {
15+
cars.add(new Car(1, "Honda", "Jazz"));
16+
cars.add(new Car(2, "Volvo", "940"));
17+
cars.add(new Car(3, "Opel", "Corsa"));
18+
}
19+
20+
@Override
21+
public List<Car> findAll() {
22+
return cars;
23+
}
24+
25+
@Override
26+
public Car findById(int id) {
27+
for (Car car : cars) {
28+
if (car.getId() == id) {
29+
return car;
30+
}
31+
}
32+
return null;
33+
}
34+
35+
@Override
36+
public Car save(Car car) {
37+
cars.add(car);
38+
return car;
39+
}
40+
41+
@Override
42+
public Car deleteCar(int id){
43+
for (Car car : cars){
44+
if (car.getId() == id) {
45+
cars.remove(id);
46+
}
47+
}
48+
return null;
49+
}
50+
51+
@Override
52+
public Car updateCar(Car car) {
53+
return car;
54+
}
55+
}

src/main/java/com/ecars/microcars/form/CarForm.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
11
package com.ecars.microcars.model;
22

3+
import java.util.Objects;
4+
35
public class Car {
6+
private int id;
47
private String brand;
5-
private String modele;
8+
private String model;
9+
10+
public Car() {
11+
}
612

7-
public Car(String brand, String modele) {
13+
public Car(int id, String brand, String model) {
14+
this.id = id;
815
this.brand = brand;
9-
this.modele = modele;
16+
this.model = model;
17+
}
18+
19+
public int getId() {
20+
return id;
21+
}
22+
23+
public void setId(int id) {
24+
this.id = id;
1025
}
1126

1227
public String getBrand() {
@@ -17,19 +32,20 @@ public void setBrand(String brand) {
1732
this.brand = brand;
1833
}
1934

20-
public String getModele() {
21-
return modele;
35+
public String getModel() {
36+
return model;
2237
}
2338

24-
public void setModele(String modele) {
25-
this.modele = modele;
39+
public void setModel(String model) {
40+
this.model = model;
2641
}
2742

2843
@Override
2944
public String toString() {
3045
return "Car{" +
46+
"id=" + id +
3147
", brand='" + brand + '\'' +
32-
", modele='" + modele + '\'' +
48+
", model='" + model + '\'' +
3349
'}';
3450
}
3551
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
11
server.port=8080
2-
spring.thymeleaf.cache=false
3-
4-
welcome.message=Hello Thymeleaf
5-
error.message=Brand & Model is required!
2+
spring.application.name=MicroCars

0 commit comments

Comments
 (0)