20%
23,760원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
h2-console 컬럼순서
- h2-console을 이용해서 실습하는 과정에서 아래 처럼 domain클래스를 생성하여 H2-console로 가서 확인해보면 아래의 순서와 다르게 id빼고는 abcd 알파벳순서대로 컬럼 순서가 정해지네요. 이것을 컨트롤할수 있는 방법은 없나요? id category en kor ..등의 컬럼순서가 아닌 id category detail en ... 알파벳 순서대로 컬럼이 생성됩니다. @Id private String id; private String category; private String en; private String kor; private Integer price; private String location; private String detail;
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
데이터베이스까지 연동.. 질문드립니다!
안녕하세요. 강의 열심히 잘 보고 있는 취업 준비생입니다! 2개 강의에 걸친 스프링 시큐리티 사용법은 yml, config 에 username, password를 따로 명시하는 방법으로 설명해주셨는데요. 그렇다면 데이터베이스의 특정 테이블의 특정 데이터로 매칭하는 방법은 없나요?? 예를 들어 유저가 로그인 할 때는 직접 username과 password를 입력하게 될 텐데 db에 적절한 데이터가 있는 경우에는 그 데이터로 인증을 수행하고, 없는 경우에는 exception을 날리는 식의 프로세스를 생각해보았습니다. 어떤 방법이 있는지 궁금합니다..!
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Validation이 동작하지 않습니다.
안녕하세요. 강사님 강의 잘 듣고 있습니다. 현재 실습 중 유효성 검사를 할 때 boot에서 유효성 검사가 되지 않습니다. 현재 문제인 부분은 Name에 min=2의 유효 검사를 추가했으나, Name의 길이가 1인 a만 입력해도 추가가 되는 상황입니다. 상태 코드 : 201 pox.xml User.java UserController.java dependancy 리스트
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
swagger-ui.html 404 문제
http://localhost:8088/swagger-ui.html 404 문제 -> http://localhost:8088/swagger-ui/index.html 접속하니 됩니다
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
spring security
java.lang.NoSuchMethodError: org.springframework.plugin.core.PluginRegistry.of([Lorg/springframework/plugin/core/Plugin;)Lorg/springframework/plugin/core/PluginRegistry; pom.xml에 시큐리티만 추가했을뿐인데 저렇게 에러가 터지네요 현재 스프링부틑 2.4x를 사용중입니다. 스웨거는최신 3.0사용중입니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
HATEOAS질문드립니다
UserControll쪽에 최신으로 올려주신 package com.example.restfulwebservice.user;import org.springframework.data.crossstore.ChangeSetPersister;import org.springframework.hateoas.CollectionModel;import org.springframework.hateoas.EntityModel;import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.*;import org.springframework.web.servlet.support.ServletUriComponentsBuilder;import javax.validation.Valid;import java.net.URI;import java.util.ArrayList;import java.util.List;import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn;@RestControllerpublic class UserController { private UserDaoService service; //생성자를 통한 의존성 주입 public UserController(UserDaoService service) { this.service = service; } @GetMapping("/users") public List<User> retrieveAllUsers() { return service.findAll(); } // 전체 사용자 목록 @GetMapping("/users2") public ResponseEntity<CollectionModel<EntityModel<User>>> retrieveUserList2() { List<EntityModel<User>> result = new ArrayList<>(); List<User> users = service.findAll(); for (User user : users) { EntityModel entityModel = EntityModel.of(user); entityModel.add(linkTo(methodOn(this.getClass()).retrieveAllUsers()).withSelfRel()); result.add(entityModel); } return ResponseEntity.ok(CollectionModel.of(result, linkTo(methodOn(this.getClass()).retrieveAllUsers()).withSelfRel())); } //우리는 id를 숫자로 해도 서버측에 전달 될 경우에는 -> String으로 된다 //id로 하면 자동으로 원하는 int에 맞게 찾아준다 //HETAOS를 적용하면 개발자의 양은 많아지지만 //내가 개발한 것을 보는 사용자입장에서는 더 많은 정보를 알 수 있다 // 사용자 상세 정보 @GetMapping("/users/{id}") public ResponseEntity<EntityModel<User>> retrieveUser(@PathVariable int id) { User user = service.findOne(id); if (user == null) { throw new UserNotFoundException("id-" + id); } EntityModel entityModel = EntityModel.of(user); WebMvcLinkBuilder linkTo = linkTo(methodOn(this.getClass()).retrieveAllUsers()); entityModel.add(linkTo.withRel("all-users")); return ResponseEntity.ok(entityModel); } //post, put 처럼 데이터 맵핑 할려면 파라미터에 request body로 형식을 적어줘야한다 @PostMapping("/users") public ResponseEntity<User> createUser(@Valid @RequestBody User user) { User saveUser = service.save(user); URI localtion = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(saveUser.getID()) .toUri(); return ResponseEntity.created(localtion).build(); } @DeleteMapping("/users/{id}") public void deleteUser(@PathVariable int id) { User user = service.deleteById( id); if(user == null) { throw new UserNotFoundException(String.format("ID[%s] not found ", id)); } }}사용했는데 에러가 발생했습니다 ㅠㅠorg.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.plugin.core.PluginRegistry<org.springframework.hateoas.client.LinkDiscoverer, org.springframework.http.MediaType>' available: expected single matching bean but found 3: relProviderPluginRegistry,linkDiscovererRegistry,entityLinksPluginRegistry
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
swagger 연동을 할려고 하는데 에러가 발생합니다
지금 현재 swagger 해보고 있는데 org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NoClassDefFoundError: javax/validation/constraints/NotBlank 이런 에러가 발생했습니다 구글링 해보니 이거 버전 안맞다는 말이 많더라구요 버전은 강의를 보면서 하고 있어서 최신 버전을 했는데 다른 문제를 모르겠습니다 ㅠㅠ ㅇㄹㅇㄹㅇㄹ
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
스프링부트 2.5 강좌 디펜던시 최신 기준
할 브라우저 설치하지 마시고 할 익스플로러 설치하시면 됩니다. 인터페이스가 조금 다른데 별 차이 없습니다. <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-hal-explorer</artifactId> <version>3.5.1</version></dependency>
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
기본 언어가 영어로 출력됩니다.
messages.properties -> greeting.message=안녕하세요. 기본 프로퍼티스 파일 위와 같이 1개만 두고 실행하면 당연히 한글이 나옵니다. 이후 프랑스, 영어 추가해서 포스트맨에서 액셉트 설정하면 각각의 언어로 잘 나옵니다. 다만, 3개의 파일을 같이 두고 실행하면 기본 실행이 영어로 나옵니다. 이유를 모르겠습니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강의자료 ppt
안녕하세요! 혹시 강의에 사용된 ppt자료는 어떻게 받을 수 있나요? 인쇄 후 필기해가면서 수강하려고 하는데, 다운받는 곳을 못찾겠습니다 ㅠㅠ 감사합니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Swagger와 Jackson Filter 사용 시 Swagger-ui의 example value
Jackson Filter를 적용한 코드에서는 Swagger-UI에서 example value 값이 "filters"와 "value"로만 보입니다. 필터가 적용된 example value 값을 온전히 표시하기 위해서는 어떻게 해야하는지 궁금합니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
테이블 생성 전 insert
안녕하세요. 강의 잘 듣고 있습니다. data.sql 없을 땐 테이블 생성 되고 문제 없었는데 data.sql 파일을 만드니까 테이블 생성하기 전에 insert를 해서 에러가 나는 것 같습니다. 어떻게 해결하면 좋을까요.. insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200"); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER" not found; SQL statement: insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200") [42102-200] Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [file:/Users/eony/workspace/study/%ec%9d%b8%ed%94%84%eb%9f%b0%ea%b0%95%ec%9d%98/restful-web-service/target/classes/data.sql]: insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200"); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER" not found; SQL statement: insert into user values(1, sysdate(), "eony", "asdf", "941010-2020200") [42102-200]
- 해결됨[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
h2-console에서 생성된 user table을 확인할 수 없습니다.
user table이 생성됐다는 콘솔 로그도 확인했고, yaml파일과 어노테이션도 강의 내용따라 진행했는데도 브라우저에서는 추가된 table을 확인할 수가 없어 해결방법을 알고 싶습니다. 현재 spring boot 2.4.5 h2 1.4.197을 사용중입니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강사님! Exception Handel 질문입니다!
강사님 안녕하세요 Rest API 공부를 하고 있는 학생입니다. 궁금한 점이 생겨 질문을 드리게 됬습니다! 수업 중에 에러를 핸들링 하게 위해 UserNotFoundException 클래스를 만들어 @ResponseStatus를 통해 404 코드 에러를 발생시킨 것을 기억을 하고 있습니다. 근데 CumtomizedResponseEntityExceptionHandler 클래스에서 UserNotFoundException 클래스를 정의한 것을 알고 있습니다. 근데 여기서 HttpStatus.NotFound를 하여 404에러가 나도록 유도하는데 혹시 둘이 UserNotFoundException 코드의 @ResponseStatus는 삭제해도 되는걸까요?? 항상 강의 잘 들고 있습니다!!!
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
김진성님의 "강사님이 내주신 괴제 혹시 이거보다 더 좋은 방법이 있을까요?"을 따라해보고..
- 코드를 그대로 작성해보고 post man에서 put 을 실행하면 200 OK가 떨어지는데 웹브라우저 상에서는 이름이 바뀌지 않습니다 post man에서도 바꾸지 않는데요 왜 그럴까요?
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
java: package springfox.documentation.spi does not exist 에러
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>3.0.0</version></dependency> import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@EnableSwagger2@Configurationpublic class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); }} 소스 코드는 위와 같이 작성했는데 서버를 재기동 하게되면 아래와 같은 에러코드가 송출됩니다.. java: package springfox.documentation.spi does not exist documenttation.sip가 없다고 나오는데 어떤점이 문제일까요? 스프링부트 2.3.10 버전 사용중입니다
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
ex.getBindingResult().toString()
안녕하세요 강사님 ex.getBindingResult().toString()에 질문이 있습니다! 그 전에는 request.getDescription(false)로 ExceptionResponse의 details에 출력이 되도록 했는데요 혹시 오버라이드한 handleMethodArgumentNotValid() 이 메서드는 왜 ex.getBindingResult().toString()를 사용하는지 알 수 있을까요? 그리고 어떠한 ex.getMessage()와 동일한 결과를 출력하는거 같은데 혹시 어떤 수행을 하는지 알 수 있을까요..>!
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
사소한 질문입니다..
안녕하세요 선생님! 질문에 대한 선생님이 작성해주신 답을 보다가 이러한 것을 봤는데 혹시 이것은 왜 그런지 알 수 있을까요?? CamelCase를 써야해서 joinDate이지 않을까 했거든요! 진짜 사소한 고민입니다!
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강사님이 내주신 괴제 혹시 이거보다 더 좋은 방법이 있을까요?
<UserDaoService> public User updateByName(int id, String name){ User user = findOne(id); user.setName(name); user.setJoinDate(new Date()); return user;}이렇게 명시하였고<UserController>@PutMapping(path = "/users/{id}/{name}")public void updateUser(@PathVariable int id, @PathVariable String name){ User user =service.updateByName(id, name); if(user==null){ throw new UserNotFoundException(String.format("ID[%s] not found", id)); }}이렇게 받아서 처리하는 방식을 사용하였고 정상적으로이름이 바뀌는 것을 확인했습니다. 혹시 이 코드 말고좀 더 괜찮은 코드로 리팩토링하거나 그럴 수 있을까요?!힌트만 주셔도... 좋습니다!!항상 감사하고 수업 정말 잘 듣고 있습니다.
- 미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강사님 @RestController에 대해서 질문이 있습니다.
@RestController = @Controller + @ResponseBody Spring Boot Rest API Service는 사용자에게 보여지는 Service가 아니라(즉 View를 갖고 있는 서비스가 아니라) XML, JSON 형태로 값을 전달 사용자에게 전달하는 View 형태를 가지지 않는 Controller를 @RestController를 사용합니다. 이렇게 제가 정리를 했는데요 @RestController를 사용하는 것이 기존의 @Controller를 달고 반환하는 것이 JSON과 같은 데이터 타입일 때 @ResponseBody를 붙여주는 것이 번거로움 작업이라 그것을 대신한다! 이런식으로 알고 있었습니다. 그럼 여기서 의문점이 든게 @RestController를 통해 만든 컨트롤러는 데이터만을 만들고 view만을 반환하는 controller를 따로 만드는 것일까요?