Dobry wieczór, jestem w II klasie LO i zaczynam swoją przygodę z Java EE ponieważ planuje na wakacjach chwycić trochę doświadczenia jeśli będzie taka możliwość. Robię mały web-service z 4 metodami jedną z nich jest wyświetlanie listy filmów po wpisaniu jakiejś daty. Niestety nie obeszło się bez błędów i w WizToolRestClient pojawiło mi się 415 Unsuported Media Type natomiast w logach tomcat coś takiego:
sty 18, 2016 5:13:12 PM com.sun.jersey.spi.container.ContainerRequest getEntity
SEVERE: A message body reader for Java class Request.Request, and Java type class Request.Request, and MIME media type application/json; charset=UTF-8 was not found.
The registered message body readers compatible with the MIME media type are:
application/json; charset=UTF-8 ->
Szczerze i sumiennie przejrzałem wszystkie tematy w google i nic nie znalazłem czego nie mam.
Oto klasy / metody i ich implementacja:
public List<Film> listFilms (Date date)
{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try{
transaction = session.beginTransaction();
Query query = session.createQuery("FROM film WHERE date = :date");
query.setDate("date" , date);
List<Film> films = query.list();
return films;
}
catch (HibernateException e)
{
e.printStackTrace();
}
return null;
}
@POST
@Produces("application/json")
@Consumes("application/json")
@Path("/list")
public pl.net.bluesoft.Response.Response getFilmList (Request request)
{
pl.net.bluesoft.Response.Response response = new pl.net.bluesoft.Response.Response();
try {
response.setFilms(dao.listFilms(request.getFilm().getDate()));
}
catch (HibernateException e)
{
}
return response;
}
@Entity
@XmlRootElement
@Table (name = "film")
public class Film
{
@Id
@Column (name = "id")
@GeneratedValue (strategy = GenerationType.IDENTITY)
private int id;
@Column (name = "title")
private String title;
@Column (name = "date")
private Date date;
public Film() {} //Constuctor
// geter and seter
A to Json którym "strzelam".
{
"film":
{
"date" : "2016-01-21"
}
}
Pomóżcie proszę albo chociaż nakierujcie.
Pozdrawiam