250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

CRUD중 Create(insert)만들면서 ERROR 500 에러 발생 및 해결 본문

[Snow-ball]프로그래밍(컴퓨터)/프로그래밍 실수

CRUD중 Create(insert)만들면서 ERROR 500 에러 발생 및 해결

Snow-ball 2021. 3. 28. 12:27
반응형

게시판을 만들기 위한 기초 작업을 위해서 insert 부분을 만들기 위해 작업중이였다. 게시판을 생성하기 위해서는 기본적으로 CRUD를 생성해야 한다.

 

계획한 게시판의 제작순서는 Entity 부터 시작해서 Dto를 만들어주고 Repository > Service > Controller 를 생성하고 이후 기능에는 insert > list(All) > One(1) > Update > Delete 기능을 확장을 계획했다.

 

1차적으로 insert 부분을 실험하기 위해서 'Click me' 버튼을 생성해서 실험을 해봤다.

 

결과는 에러 500 발생.

 

Spring으로 돌아와보니 진입은 했지만, 에러발생한듯 하다.

 

 

 

 

 

 

 

 

 

에러 핸들링 결과 :

 

 

직접 지정해뒀던 Primary key 

 

 

Primary key를 삭제했더니 데이터가 잘 넘어가게 됬다.

 

 

 

결과화면:

 

 

 

 

 

 

 

 

사용한 코드 : 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.example.demo.fds.controller;
 
 
import org.springframework.http.HttpStatus;
 
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import com.example.demo.fds.domian.Feeds;
import com.example.demo.fds.service.FeedServiceImpl;
 
import lombok.RequiredArgsConstructor;
 
 
@RequiredArgsConstructor
@RestController
@RequestMapping("/feeds")
@CrossOrigin(origins="*")
public class FeedContoroller {
    
    private final FeedServiceImpl service;
 
        @PostMapping("/create")
        public ResponseEntity<?>save(
                @RequestBody Feeds feeds){
            service.save(feeds);
            
            return new ResponseEntity<>(HttpStatus.OK);
        }
}
 
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.example.demo.fds.domian;
 
import javax.persistence.*;
 
import lombok.*;
 
@NoArgsConstructor
@Entity
@Data
@Getter
@Table(name = "feeds")
public class Feeds {
    
    @Id
    @GeneratedValue
 
    @Column(name = "feed_no")
    private long feedNo;
    
    @Column(name = "title")
    private String title;
    
    @Column(name = "writer")
    private String writer;
    
    @Column(name = "content")
    private String content;
    
    @Column(name = "add_location")
    private String addLoction;
    
    @Column(name = "hash_tag")
    private String hashTag;
    
    @Column(name = "reg_date")
    private String regDate;
 
    @Builder
    public Feeds(long feedNo, String title, String writer, String content, String addLoction, String hashTag,
            String regDate) {
        super();
        this.feedNo = feedNo;
        this.title = title;
        this.writer = writer;
        this.content = content;
        this.addLoction = addLoction;
        this.hashTag = hashTag;
        this.regDate = regDate;
    }
    
    
    
}
 
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.example.demo.fds.domian;
 
import java.io.Serializable;
 
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
 
 
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Data
public class FeedsDto implements Serializable {
    private static final long serialVersionUID = 1L;
    
    private long feedNo;
    private String title;
    private String writer;
    private String content;
    private String addLoction;
    private String hashTag;
    private String regDate;
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
package com.example.demo.fds.repository;
 
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
 
import com.example.demo.fds.domian.Feeds;
 
@Repository
public interface FeedRepository extends JpaRepository<Feeds, Long> {
 
}
 
cs

 

1
2
3
4
5
6
package com.example.demo.fds.repository;
 
public class FeedRepositoyryImpl {
 
}
 
cs

 

 

 

 

 

 

 

 

1
2
3
4
5
6
package com.example.demo.fds.service;
 
public interface FeedService {
 
}
 
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.example.demo.fds.service;
 
import java.util.List;
import java.util.Optional;
 
import org.springframework.stereotype.Service;
 
import com.example.demo.cmm.service.AbstractService;
import com.example.demo.fds.domian.Feeds;
import com.example.demo.fds.repository.FeedRepository;
 
import lombok.RequiredArgsConstructor;
 
@Service
@RequiredArgsConstructor
public class FeedServiceImpl extends AbstractService<Feeds> implements FeedService {
    
    private final FeedRepository repo;
 
    @Override
    public long count() {
        // TODO Auto-generated method stub
        return 0;
    }
 
    @Override
    public boolean existsById(long id) {
        // TODO Auto-generated method stub
        return false;
    }
 
    @Override
    public List<Feeds> findAll() {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public Optional<Feeds> findOne() {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public void deleteById(long id) {
        // TODO Auto-generated method stub
        
    }
 
    @Override
    public Feeds getOne(long id) {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public Feeds save(Feeds entity) {
        // TODO Auto-generated method stub
        return repo.save(entity);
    }
 
}
 
cs

 

 

 

베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments