spring프로젝트_0907
vo 클래스에 @component 제거 (vo빈 주입 요청하는 곳도 삭제)
단일 파라미터 > memberVO객체로 변경
--------------------------------------------------------------------------
login controller 수행시 로그 확인해보니 사용자 입력값은 어노테이션으로
제대로 확인되는데 service 메서드 결과값이 null 이었음
> service 메서드 수정 필요
controller parameter의 modelAttribute >> modelAndView 객체 선언 및 생성해서
데이터와 뷰를 동시에 설정하도록 변경
--------------------------------------------------------------------------
##질문
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class MemberServiceTests {
private MemberMapper mapper; // 빈주입 경로
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class MemberMapperTests {
@Autowired // @component 제외했는데 빈주입된 이유
private MemberVO vo;
@Autowired
private MemberMapper mapper;
>> 빈등록이랑 @autowired 차이
/ 빈등록이 되어있어야 @autowired 할 수 있는게 아닌가
--------------------------------------------------------------------------
@RequestParam, @RequestBody, @ModelAtrribute, @PathVariable >> 컨트롤러에서 데이터 처리하는 어노테이션
##오류 (415지원되지 않는 media type) > JSON 으로 REST 서비스 호출시 응답한 오류
415 오류는 지원되지 않는 형식으로 클라이언트 요청에 대하여 서버가 요청 승인을 거부했을 때 발생하는 오류를 의미함이 경우에는 ContentType, Content Encoding 데이터를 확인해봐야 함
form 태그로 사용하여 전송할 경우 Default Content_type은 application/json이 아닌 application/x-www-form-urlencoded
@RequestBody는 JSON 형태로 데이터가 들어오면 (application/json) 해당 json 데이터를 jackson 라이브러리를 사용해서 model 객체로 변환시킴
>> application/x-www-form-urlencoded로 요청이 들어와서 415 에러가 발생한 것