如何在REST Web服务中输出@GET方法?

时间:2016-07-28 02:52:46

标签: java web-services rest jersey

main方法已经可以打印输出,所以我认为它可以使用@GET来显示Web服务中的输出。

我使用Jersey,因为我在代码中调用了一个shellcript,脚本会计算我需要的东西,我只想要@GET那些输出。所以它不是一个简单的字符串输出,如" Hello,world"代码是,

public class ShellScript {

@Path("/")
@GET
public static void main(String[] args) throws Exception {                  
    String[] command = { "hello.sh"};
    Process process = Runtime.getRuntime().exec(command);                    
    BufferedReader reader = new BufferedReader(new InputStreamReader(        
        process.getInputStream()));                                          
    String s;                                                                
    while ((s = reader.readLine()) != null) {                                
      System.out.println("Script output: " + s);                             
    }                                                                      
  }
}

当我输入正确的网址时,我无法获得任何结果。 我怎样才能得到String的结果?

2 个答案:

答案 0 :(得分:0)

在我看来,你想把信息输出到webservice.But Get方法意味着从web服务获取资源,也许你应该使用HttpServletresponse来响应web服务的消息。

答案 1 :(得分:-2)

最接近你的事情可以用Spring Boot完成。

看起来像这样:

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

但是更多的东西正在发生,而不仅仅是一个简单的主要方法,请阅读文档。