Java - Jersey返回一个字符串列表

时间:2016-07-11 14:48:40

标签: java mongodb rest jersey

我试图根据我的数据库(MongoDB)中的查询返回一个字符串列表。 我已经看过Jersey: Return a list of strings,但它对我没用。

以下是查询代码:

public List<String> getAllContatos() {
    // TODO Auto-generated method stub
    List<String> contatos = new ArrayList<>();
    MongoDatabase db = DaoFactory.getInstance().getMongoDatabase();
    MongoCollection<Document> table = db.getCollection("Contatos");

    for (Document doc : table.find())
        contatos.add(doc.toJson());

    return contatos;
}

这是REST代码:

@GET
@Path("/all")
@Produces(MediaType.APPLICATION_JSON)
public Response getAllContacts() {
    operations = new ContatoDaoImpl();
    List<String> documents = operations.getAllContatos();
    GenericEntity<List<String>> contacts = new GenericEntity<List<String>>(documents) {

    };

    return Response.ok(contacts).build();
}

但它还在回归

GRAVE: MessageBodyWriter not found for media type=application/json, type=class java.util.ArrayList, genericType=java.util.List<java.lang.String>.

提前谢谢大家。

1 个答案:

答案 0 :(得分:1)

我能够解决更改我的pom.xml依赖项并更改方法getAllContatos()及其返回类型的问题。