0

我尝试在java中学习rest webservice。我写了一个服务器jboss。我可以从服务器获取列表,但无法将对象发布到服务器。我尝试使用 restclient 发布。这是成功的。第一个块是获取,第二个块是发布,最后一个块是来自客户端的请求。客户端项目是普通的java项目。它不是 web、jboss 或者它不像 jackson lib。如何将对象作为 JSON 发布以从 Jax RS 客户端添加到服务器?

@GET
@Path("/categories")
@Produces(MediaType.APPLICATION_JSON)
public List<CategoryVO> getAllCategories(){
    List<Category> cats =  entityManager.createQuery("select c from Category c").getResultList();       
    ArrayList<CategoryVO> results = new ArrayList<CategoryVO>();        
    for (Category c : cats) {
        results.add(new CategoryVO(c.getTitle(), c.getId()));
    }       
    return results;
}

@POST
@Path("/categoryAdd")
@Consumes(MediaType.APPLICATION_JSON)
public void saveCategory(CategoryVO catVO){
    System.out.println("Save Method is running");
    Category cat = new Category(catVO.getTitle());
    entityManager.persist(cat);
}

public static void main(String[] args) {
    URL url = null;
    HttpURLConnection con;
    try {
        url = new URL(
                "http://localhost:8080/RestWS/rest/NetasRestWS/categories");
        con = (HttpURLConnection) url.openConnection();     
        InputStreamReader reader =  new InputStreamReader( con.getInputStream());
        while(true){
                int x =reader.read();
                if(x==-1)
                    break;
                System.out.print((char)x);
        }           
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
4

0 回答 0