스택큐힙리스트

포스트맨에서 지원되지 않는 미디어 유형입니다. 본문

카테고리 없음

포스트맨에서 지원되지 않는 미디어 유형입니다.

스택큐힙리스트 2023. 12. 5. 00:21
반응형

 @RequestMapping(value=auth/secret, method=RequestMethod.POST)
public ResponseEntity<?> createAuthenticationToken(@RequestBody JwtAuthenticationRequest authenticationRequest, Device device) throws AuthenticationException {
System.out.println();
logger.info(인증 요청 : + authenticationRequest.getUsername() + + authenticationRequest.getPassword());
// 보안 수행
System.out.println(authenticationRequest.getUsername() + 은(는) 사용자 이름이고 + authenticationRequest.getPassword() + 입니다.);
final Authentication authentication = authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(
authenticationRequest.getUsername(),
authenticationRequest.getPassword()
)
);
SecurityContextHolder.getContext().setAuthentication(authentication);
logger.info(인증 통과);
// 보안 이후에 비밀번호 다시 로드하여 토큰 생성
final UserDetails userDetails = userDetailsService.loadUserByUsername(authenticationRequest.getUsername());
final String token = jwtTokenUtil.generateToken(userDetails, device);
logger.info(토큰 + token);
// 토큰 반환
return ResponseEntity.ok(new JwtAuthenticationResponse(token));
}

하지만 포스트맨을 사용하여 포스트 요청을 시도하면 다음과 같이 표시됩니다.


{
timestamp: 1488973010828,
status: 415,
error: 지원되지 않는 미디어 유형,
exception: org.springframework.web.HttpMediaTypeNotSupportedException,
message: 컨텐츠 유형 'multipart/form-data;boundary=----WebKitFormBoundaryY4KgeeQ9ONtKpvkQ;charset=UTF-8'은(는) 지원되지 않습니다,
path: /TaxiVis/auth/secret
}

하지만 ajax 호출에서 cosole.log(data)를 실행하면 토큰이 인쇄됩니다. 무엇이 잘못되었는지 파악하지 못했습니다. 도움이 필요합니다.

답변 1

포스트맨에서 content-type을 JSON (application/json)으로 설정해야 합니다.


POST 요청 내부의 본문으로 이동하여 원시 옵션을 찾을 수 있습니다.


그 옆에 드롭다운이 있을 것이며, 그곳에서 JSON (application/json)을 선택합니다.

답변 2

Unsupported Media Type는 POSTMAN에서 발생하는 오류 중 하나로, 클라이언트가 올바르지 않은 미디어 유형을 요청한 경우 발생하는 오류이다. 이 오류는 서버가 클라이언트가 요청한 미디어 유형을 지원하지 않을 때 발생한다. 이 미디어 유형은 콘텐츠 협상(content negotiation)과 관련이 있으며, 클라이언트와 서버 간의 적절한 형식을 결정하는 데 사용된다.
SEO에 대응하기 위해 우리는 Unsupported Media Type 오류가 발생하는 이유와 해결 방법에 대해 알아볼 필요가 있다. 오류가 발생하는 주요 이유 중 하나는 클라이언트가 요청한 미디어 유형이 서버가 지원하지 않는다는 것이다. 따라서 클라이언트가 올바른 미디어 유형을 사용하여 서버에 요청할 필요가 있다. 또한 서버가 콘텐츠 협상을 통해 클라이언트와 적절한 미디어 유형을 협의할 수 있도록 해야 한다.
Unsupported Media Type 오류를 해결하기 위해 다음과 같은 방법을 고려해 볼 수 있다. 첫째로, 클라이언트는 서버가 지원하는 미디어 유형을 확인해야 한다. 이를 위해 클라이언트는 서버의 파일 확장자를 확인하거나 서버의 지원하는 미디어 유형을 문서화하는 것이 좋다. 클라이언트는 이를 통해 서버가 지원하지 않는 미디어 유형을 요청하지 않도록 할 수 있다. 둘째로, 서버는 적절한 콘텐츠 협상을 구현해야 한다. 서버는 클라이언트의 요청을 분석하여 가장 적절한 미디어 유형을 결정하는 알고리즘을 사용해야 한다. 이를 통해 서버는 클라이언트가 정확한 미디어 유형을 지정하지 않더라도 적절한 응답을 제공할 수 있다.
Unsupported Media Type 오류에 대한 대처는 SEO에도 매우 중요하다. 오류 페이지를 적절하게 처리하고 구성하면, 검색 엔진은 웹 사이트에서 게재된 콘텐츠가 올바르게 처리되고 있음을 인식할 수 있다. 따라서 오류 페이지는 잘 구성되고 사용자 경험을 향상시키는 내용으로 구성되어야 한다. 또한, 오류 페이지는 유용한 정보와 도움말을 제공하여 사용자가 콘텐츠를 찾을 수 있도록 해야 한다. 이를 통해 사용자가 웹 사이트에서 보다 긍정적인 경험을 할 수 있으며, 이는 검색 엔진의 페이지 순위에도 도움이 된다.
Unsupported Media Type 오류는 서버와 클라이언트 간의 존재하는 문제를 해결하고 적절한 콘텐츠 협상을 구현함으로써 해결할 수 있다. 이를 통해 웹 사이트의 검색 엔진 최적화를 향상시킬 수 있으며, 사용자가 보다 원할한 사용 경험을 할 수 있게 된다. 따라서 이러한 오류 상황에 대한 대응은 SEO를 고려할 때 매우 중요하다.

반응형
Comments