Iam Learning REST webservice. Я написал очень простой c код для возврата списка из веб-службы. ниже приведен фрагмент кода
@Path("hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public List<String> greeting() {
List<String> greeting = new ArrayList<>();
greeting.add("Hello World");
greeting.add("How are you");
greeting.add("Hope you are doing good");
greeting.add("Hey WhatsApp");
greeting.add("Take care");
greeting.add("Perform well");
return greeting;
}
}
ниже описана реализация messagebodywriter
@Provider
@Produces(MediaType.TEXT_PLAIN)
public class ListMessageBodyWriter implements MessageBodyWriter<List<String>>{
@Override
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
System.out.println("here in the isWriteable");
return type == List.class;
}
@Override
public void writeTo(List<String> t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType,
MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream)
throws IOException, WebApplicationException {
System.out.println("here in the writeTo");
System.out.println("t="+t);
System.out.println("size of t "+t.size());
Writer writer = new PrintWriter(entityStream);
writer.write("list of string will be returned later");
writer.flush();
writer.close();
}
Но когда я запускаю код, я все равно получаю ту же ошибку, что и ниже
MessageBodyWriter не найден для типа носителя = text / plain, type = class java .util.ArrayList, genericType = java .util.List.
Почему я получаю ту же ошибку, несмотря на реализацию messagebodywriter