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

"Content type 'application/json;charset=UTF-8' not supported" in Spring Rest application

$
0
0

When I do a POST request on localhost:8080/api/users to create a new user I get the following error :

{"timestamp": "2018-05-28T09:44:55.704+0000","status": 415,"error": "Unsupported Media Type","message": "Content type 'application/json;charset=UTF-8' not supported","path": "/api/users/"}

enter image description here

Here is the request's body, JSON (application/json) is selected.

It gives the same error even if I remove the Roles and keep it null.

enter image description here

The header's content type is application/json as well.

enter image description here

This is my controller :

@PostMapping("/api/users" )public User createUser(@Valid @RequestBody User user) {    securityService.autologin(user.getUsername(), user.getPassword());    return userService.createUser(user);}

createUser function in UserService :

public User createUser(@Valid @RequestBody User user) {    user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));    user.setRoles(new HashSet<>(roleRepository.findAll()));    return userRepository.save(user);}

edit

This is my User class :

@Entity@Table(name = "user")@EntityListeners(AuditingEntityListener.class)@JsonIgnoreProperties(value = {"createdAt", "updatedAt"},                       allowGetters = true)public class User implements Serializable{    private static final long serialVersionUID = 1L;    public User() {        super();        // TODO Auto-generated constructor stub    }    @Id    @Column(name = "user_id")    @GeneratedValue(strategy = GenerationType.IDENTITY)    private long id;    @Column(name = "user_name")    private String name;    @Column(name = "user_email")    private String email;    @Column(name = "user_password")    @NotBlank    private String password;    @Column(name = "user_status")    private String status;    @Column(name = "user_tel")    private String tel;    @Column(name = "user_confirmation")    private String confirmation;    @Column(name = "user_birth_date")    @Temporal(TemporalType.DATE)    private Date birth_date;    @Column(nullable = false, updatable = false)    @Temporal(TemporalType.TIMESTAMP)    @CreatedDate    private Date createdAt;    @Column(nullable = false)    @Temporal(TemporalType.TIMESTAMP)    @LastModifiedDate    private Date updatedAt;    @JsonManagedReference    @ManyToMany    @JoinTable(name = "user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))    private Set<Role> roles;    @Column(name = "username")    @NotBlank    private String username;    public long getId() {        return id;    }    public void setId(long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getStatus() {        return status;    }    public void setStatus(String status) {        this.status = status;    }    public String getTel() {        return tel;    }    public void setTel(String tel) {        this.tel = tel;    }    public String getConfirmation() {        return confirmation;    }    public void setConfirmation(String confirmation) {        this.confirmation = confirmation;    }    public Date getBirth_date() {        return birth_date;    }    public void setBirth_date(Date birth_date) {        this.birth_date = birth_date;    }    public Date getCreatedAt() {        return createdAt;    }    public Date getUpdatedAt() {        return updatedAt;    }    public void setUpdatedAt(Date updatedAt) {        this.updatedAt = updatedAt;    }    public Set<Role> getRoles() {        return roles;    }    public void setRoles(Set<Role> roles) {        this.roles = roles;    }}

Viewing all articles
Browse latest Browse all 3663

Trending Articles



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