-4

私はこのコードを持っていて、それを実行すると、「JSON」の構造だけで空の「JSON」を返します。

なにが問題ですか?そして、私は何をしなければなりませんか?

パッケージcom.Data;

com.hp.hpl.jena.query.ResultSet をインポートします。

import javax.ws.rs.core.Context;

import javax.ws.rs.core.UriInfo;

import javax.ws.rs.PathParam;

import javax.ws.rs.Consumes;

import javax.ws.rs.PUT;

import javax.ws.rs.Path;

import javax.ws.rs.GET;

import javax.ws.rs.Produces;

import javax.ws.rs.core.MediaType;

@Path("/サービス")

公開クラス Servicio {

@Context

private UriInfo context;


public Servicio() {    }

@GET

@Path("/{universidad}")

@Produces({ MediaType.APPLICATION_JSON})

public ResultSet getJson(@PathParam("universidad") String universidad) { 

    com.Data.Metodos metodo = new Metodos();

    universidad = universidad.replace(' ', '+');

    String URI = "http://dbpedia.org/sparql/University/country/?"+universidad+"/es/1/=json/";

    String lista[];

    String filtros[];

    String Query = "";

    lista = metodo.get_Cadenas(URI);

    filtros = metodo.elementos(lista);

    Query = metodo.Query(filtros);

    return (metodo.outformat(Query, filtros[0], filtros[4]));   


}

@PUT

@Consumes("application/json")

public void putJson(String content) {

}

}

4

1 に答える 1

1

注釈の値は@Produces、クライアントに提供したいメディア タイプにする必要があります。

上記の例ではapplication/json、json をクライアントに返したいと想定しています。問題は、json シリアライザーがResultSetjson オブジェクトへの変換方法を教えない限り、その方法を認識できないことです。

オブジェクトの json へMessageBodyWriterのシリアル化を処理するには、カスタムを作成する必要があります。ResultSet

JAX-RS でカスタムを作成および登録する例については、こちらをご覧ください。MessageBodyWriter

于 2013-07-22T15:55:09.390 に答える