Quantcast
Channel: Active questions tagged rest - Stack Overflow
Viewing all articles
Browse latest Browse all 3630

How can I resolve [org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation] error?

$
0
0

I have created a REST API for user registration using Spring Boot in which I for response I'm using GenericResponse class along with ResponseEntity to manipulate the response but I'm facing[org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation] error

@PostMapping("/register")    public ResponseEntity<GenericResponse<String>> registerUser(@RequestBody @NonNull @NotNull User user) {        try {            logger.info("Initial user registration request body: {}", user);            userService.registerUser(user);            GenericResponse<String> genericResponse = new GenericResponseBuilder<String>()                    .setMessage(USER_REGISTER_SUCCESS_MESSAGE).setStatus(HttpStatus.OK.value()).build();            logger.info("User registered successfully: {}", user);            return ResponseEntity.status(HttpStatus.OK).body(genericResponse);        } catch (Exception e) {            logger.error("Error registering user: {}", user, e);            GenericResponse<String> errorResponse = new GenericResponseBuilder<String>()                    .setMessage("Failed to register user").setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()).build();            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorResponse);        }    }
public class GenericResponse<T> {    private String message;    private int status;    private T data;    private GenericResponse() {    }    public static class GenericResponseBuilder<T> {        private GenericResponse<T> genericResponse;        public GenericResponseBuilder() {            genericResponse = new GenericResponse<T>();        }        public GenericResponseBuilder<T> setMessage(String message) {            genericResponse.message = message;            return this;        }        public GenericResponseBuilder<T> setStatus(int status) {            genericResponse.status = status;            return this;        }        public GenericResponseBuilder<T> setData(T data) {            genericResponse.data = data;            return this;        }        public GenericResponse<T> build() {            return this.genericResponse;        }    }}

I tried Hitting the API from Postman & the response I received is:

"status": 406,"error": "Not Acceptable","message": "Acceptable representations: [application/json, application/*+json].","path": "/user/register"

Viewing all articles
Browse latest Browse all 3630

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>