0

私はJavaでRESTWebサービスを学ぼうとしています。サーバーjbossを作成しました。サーバーからリストを取得できますが、サーバーにオブジェクトを投稿できません。restclientで投稿しようとしています。これは成功です。最初のブロックはget、2番目のブロックはpost、最後のブロックはクライアントからのリクエストです。クライアントプロジェクトは通常のJavaプロジェクトです。これは、Web、jboss、またはjacksonlibのようなものではありません。Jax RSクライアントからサーバーに追加するためにオブジェクトをJSONとして投稿するにはどうすればよいですか?

@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