как получить данные из файла geojson в службу REST - PullRequest
0 голосов
/ 31 мая 2019

У меня есть чистый файл geojson, который я хочу поместить в службу REST, используя Java на Netbeans 8.2. В настоящее время файл хранится в Netbeans в отсеке «Другие источники» в пакете org.geojson под именем файла: Bramownice_waw_7.json. Мой текущий код выглядит так:

 package com.test;

    import java.io.InputStream; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.io.InputStreamReader; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.StringWriter; 
import java.nio.charset.Charset; 
import java.util.Scanner; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import org.apache.commons.io.IOUtils;

    public class Wirtb {
        public String getData() {
        String queryres = "abc";  
            try {
                String data = "abc";
                String respath = "/org/geojson/Bramownice_waw_7.json";
                InputStream in = Wirtb.class.getResourceAsStream(respath);
                /*
                if ( in == null )
                throw new Exception("resource not found: " + respath);
                */
                StringWriter writer = new StringWriter();
                IOUtils.copy(in, writer);
                queryres = writer.toString();
                return queryres;
            } catch (IOException ex) {
                Logger.getLogger(Wirtb.class.getName()).log(Level.SEVERE, null, ex);
            }
            return queryres;
        }
        public static void main(String[] args) throws Exception {
            Wirtb wirtb = new Wirtb();
            //app2.connect();
            //String abc = wbram.connect
            String abc = wirtb.getData();
            System.out.println(abc);
        } }

Возвращает json как String. Я также попытался настроить службу REST:

private static String wirtualnabgeoJSON(boolean prettyPrint, int wirtualna){
        Wirtb wirtb = new Wirtb();
        String qr = wirtb.getData();
        return qr;
    }

@GET
    @Path("wirtb/{wirtualna}")
    @Produces(MediaType.APPLICATION_JSON)
    //@Produces(MediaType.TEXT_PLAIN)
    public Response wirtubfetch(@PathParam("wirtualna") int wirtualna)  {
    //JSONObject jsono = createJSON(true);
        //GeometryJSON gjson = creategeoJSON(true);
        String wb = wirtualnabgeoJSON(true, wirtualna);
    //return Response.ok().entity(jsono.toString()).build();
        return Response.ok().header("Access-Control-Allow-Origin", "*").entity(wb).build();

Однако результатом стала ошибка 404. Как я могу это исправить? Спасибо

...