При передаче перечисления в контроллере REST я получаю исключение java.lang.IllegalArgumentException, тогда как я испольJAVA

Программисты JAVA общаются здесь
Anonymous
При передаче перечисления в контроллере REST я получаю исключение java.lang.IllegalArgumentException, тогда как я исполь

Сообщение Anonymous »

Контроллер:-

Код: Выделить всё

@RequestMapping(value="/CreateMovie", method= RequestMethod.POST)
public HttpStatus createMovie(@RequestBody JSONObject object) {
Movie movie =new Movie(object.optString("name"),
MovieType.valueOf(object.optString("type")),
new Date(object.optString("releasedate")),
Integer.parseInt(object.optString("time")),
Genre.valueOf(object.optString("genre")));
//object.

repository.save(movie);

return HttpStatus.OK;

}
Сущность следующая:-

Код: Выделить всё

@Entity(name="Movie")
public class Movie {

public Movie()
{

}
public Movie(String name,MovieType type,Date releasedate,
int movie_length, Genre genre)
{
this.name=name;
this.type=type;
this.releasedate=releasedate;
this.movie_length=movie_length;
this.genre=genre;
}

@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="Id")
private long id;

@Column(name="movie_name")
@NotNull
String name;
@Enumerated(EnumType.STRING)
//@NotNull
MovieType type;
@Column(name="release_date")
@JsonFormat(shape=STRING, pattern="dd-MM-yyyy")
//@NotNull
Date releasedate;
@Column(name="movie_length")
//@NotNull
int movie_length;
@Column(name="like_percentage")
float likepercentage;
@Column(name="no_of_reactions")
float no_of_reactions;
@Column(name="avg_rating")
float avg_rating;
@Column(name="no_of_reviews")
int no_of_reviews;
@Column(name="director")
@NotNull
String director;
@Transient
List cities;
@Transient
List cast;
Перечисление выглядит следующим образом: -

Код: Выделить всё

public enum MovieType {

Hindi("Hindi"),
English("English"),
Telugu("Telugu"),
Malyalam("Malyalam"),
Kannada("Kannnada");

private String name;

public String getName() {
return name;
}

MovieType(String name) {
this.name = name;
}

}
Запрос:

Код: Выделить всё

{ "name":"BodyGuard", "type":"English", "releasedate":"26/07/2015", "time":"160", "genre":"Drama" }
Трассировка стека выглядит следующим образом:

Servlet.service() для сервлета [dispatcherServlet] в контексте с путем [] выдал исключение [ошибка обработки запроса; вложенным исключением является java.lang.IllegalArgumentException: нет константы перечисления com.example.Model.MovieType.] с основной причиной

Вернуться в «JAVA»