Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ad/src/main/java/com/cnu/ad/model/Advertisment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
package com.cnu.ad.model;public record Advertisment() {
}
2 changes: 2 additions & 0 deletions ad/src/main/java/com/cnu/ad/service/PostService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
package com.cnu.ad.service;public class PostService {
}
32 changes: 32 additions & 0 deletions ad/src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
spring:
# H2 Setting Info (H2 Console? ???? ?? ???? ??)
h2:
console:
enabled: true # H2 Console? ???? ?? (H2 Console? H2 Database? UI? ????? ??)
path: /h2-console # H2 Console? Path
# Database Setting Info (Database? H2? ???? ?? H2?? ?? ??)
datasource:
driver-class-name: org.h2.Driver # Database? H2? ?????.
url: jdbc:h2:mem:devblog # H2 ?? ??
username: sa # H2 ?? ? ??? username ?? (??? ??? ??)
password: # H2 ?? ? ??? password ?? (??? ??? ??)

jpa:
hibernate:
ddl-auto: create # ??????? ??? ? ??????? ????? ?? ??? ??
properties:
hibernate:
format_sql: true # ???? query? ???

resilience4j:
circuitbreaker:
instances:
ad:
slidingWindowType: COUNT_BASED
slidingWindowSize: 5
failureRateThreshold: 50 # 에러 비율로 해당 값 이상으로 에러 발생시 서킷이 open
slowCallRateThreshold: 100
minimumNumberOfCalls: 3 # circuitbreaker가 에러비율 또는 slow call 비율을 계산하기 전에 요구되는 최소 호출 횟수

logging.level:
org.hibernate.SQL: debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
package com.cnu.post.controller;public class PostController {
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,47 @@
package com.cnu.real_coding_server.controller;

import org.springframework.web.bind.annotation.RestController;
import com.cnu.real_coding_server.entity.Post;
import com.cnu.real_coding_server.entity.Project;
import com.cnu.real_coding_server.model.request.PostRequest;
import com.cnu.real_coding_server.model.request.ProjectRequest;
import com.cnu.real_coding_server.service.ProjectService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class PostController {
}
@RequestMapping("/projects")
@RequiredArgsConstructor
public class ProjectController {
private final ProjectService projectService;

@PostMapping
public ResponseEntity<Project> createProject(@RequestBody ProjectRequest projectRequest) {
return ResponseEntity.ok(projectService.createProject(projectRequest));
}

@GetMapping
public ResponseEntity<List<Project>> getProjects() {
return ResponseEntity.ok(projectService.getProjects());
}

@GetMapping("/{projectId}")
public ResponseEntity<Project> getProject(@PathVariable("projectId") Integer projectId) {
return ResponseEntity.ok(projectService.getProject(projectId).orElse(null));
}

@PutMapping("/{projectId}")
public ResponseEntity<Project> updateProject(@PathVariable("projectId") Integer projectId, ProjectRequest projectRequest) {
return ResponseEntity.ok(projectService.updateProject(projectId, projectRequest).orElse(null));
}

@DeleteMapping("/{projectId}")
public ResponseEntity<Void> deleteProject(@PathVariable("projectId") Integer projectId) {
projectService.deleteProject(projectId);

return ResponseEntity.noContent().build();
}

}
1 change: 1 addition & 0 deletions src/main/java/com/cnu/real_coding_server/entity/Post.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public class Post extends BaseEntity {
@Setter
private String contents;

@Setter
@Enumerated(EnumType.STRING)
private Tag tag;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.cnu.real_coding_server.repository;

import com.cnu.real_coding_server.entity.Post;
import com.cnu.real_coding_server.model.request.PostRequest;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

Expand All @@ -10,4 +11,5 @@ public interface PostRepository extends JpaRepository<Post, Integer> {
// List<Post> findAll();
// Optional<Post> findById(Integer postId);
// void delete(Post post);

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.cnu.real_coding_server.service;

import com.cnu.real_coding_server.entity.Project;
import com.cnu.real_coding_server.model.request.ProjectRequest;
import com.cnu.real_coding_server.repository.ProjectRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
@RequiredArgsConstructor
public class ProjectService {
private final ProjectRepository projectRepository;

public Project createProject(ProjectRequest projectRequest) {
return projectRepository.save(projectRequest.toEntity());
}

public List<Project> getProjects() {
return projectRepository.findAll();
}

public Optional<Project> getProject(Integer projectId) {
return projectRepository.findById(projectId);
}

public Optional<Project> updateProject(Integer projectId, ProjectRequest projectRequest) {
return projectRepository.findById(projectId)
.map(project -> {
project.setTitle(projectRequest.getTitle());
project.setSummary(projectRequest.getSummary());
project.setDescription(projectRequest.getDescription());
project.setStartDate(projectRequest.getStartDate());
project.setEndDate(projectRequest.getEndDate());
return projectRepository.save(project);
});
}

public void deleteProject(Integer projectId) {
projectRepository.findById(projectId)
.ifPresent(projectRepository::delete);
}
}