将数据POST到数据库时出现错误204

问题描述 投票:0回答:2

我是 Restful Web 服务的新手。我想通过 Jersey 客户端访问服务器。但我收到 204 错误。我想做的是通过客户端提交一个 id 值并检索适当的名称。我已经通过浏览器完成了此操作,效果非常好。谁能找到这里的错误吗?

这是客户端。

public Link(String param, String val) throws ClientProtocolException, IOException {
    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);
    WebResource service = client.resource(getBaseURI());

    //System.out.println(service.path("main").path("db").accept(MediaType.TEXT_PLAIN).get(String.class));


    MultivaluedMap pathParams = new MultivaluedMapImpl();
    pathParams.add(param, val);
    System.out.println(param+":" + val);

    ClientResponse response = service.path("main").path("ds").type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, pathParams);
    System.out.println(response.toString());
    System.out.println(response.getEntity(String.class));



}

private static URI getBaseURI() {
    return UriBuilder.fromUri("http://localhost:8080/WebApp/resources/").build();
}

这是服务器端

@Path("/main")
public class WebService {
 @Path("/ds")
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String returnData(@PathParam("id") String id_no) throws Exception{
    PreparedStatement query = null;
    String myString = null;
    java.sql.Connection conn = null;

    System.out.println(id_no);

    try{
        conn= Connection.createCon();
        query = conn.prepareStatement("select name as ds_name from student where id='" + id_no + "'");
        ResultSet firstweb_rs = query.executeQuery();

        while(firstweb_rs.next()){
            myString = firstweb_rs.getString("ds_name");
        }
        query.close();


    } catch(Exception e){
        e.printStackTrace();
    }
    finally{
        if(conn!=null) conn.close();

    }
    return myString;
}
java rest jersey netbeans-6.9
2个回答
1
投票

204 不是错误代码。所有 200 系列代码均表示成功。请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 了解状态代码及其含义。

204 表示“无内容”。服务器已完成请求,但不需要返回实体主体。

如果您收到 204 并且存在抛出堆栈跟踪的服务器端错误,那么它应该返回 500 或类似的错误。如果是这种情况,您需要将它们发布以获得更多帮助。


-1
投票

Marcel maisbjdjbdie'hddidndnkflddjdjjdkddko'sndkk

© www.soinside.com 2019 - 2024. All rights reserved.