我有一个java类,它将执行一个批处理文件,并根据批处理文件中的命令是否已正确执行或错误地返回一个布尔值(true或false)。现在,我在eclipse的控制台上得到了布尔值。
我想要的是,我想用@RequestMapping创建一个控制器,这样当我运行我的应用程序时,让我们说URL localhost:8080/runbatchfile
,我应该得到true / false(用JSON格式,意思是{true}或浏览器上的{false})。
这是我的 Batchfile.java类(我不确定在getIsSuccessful方法中返回什么。我真的很困惑。)
@RunWith(SpringRunner.class)
@SpringBootTest
public class BatchFile {
@Test
public void contextLoads() {
String filePath = "C:/Users/attsuap1/Desktop/test.bat";
try {
Process p = Runtime.getRuntime().exec(filePath);
int exitVal = p.waitFor();
boolean isSuccessful = true;
if (exitVal == 0)
{
isSuccessful = true;
} else {
isSuccessful = false;
}
System.out.println(isSuccessful);
} catch (Exception e) {
e.printStackTrace();
}
}
private final boolean isSuccessful ;
public BatchFile(boolean isSuccessful ) {
this.isSuccessful = isSuccessful ;
}
public boolean getIsSuccessful () {
return; //what do i have to return here
}
}
我也不确定如何完成我的控制器类。这是我到目前为止在 BatchFileController.java类
中所做的任何事情private static final String template="%s";
private static getIsSuccessful
@RequestMapping("/runBatchFille")
@ResponseBody
public BatchFile batchFile(@RequestParam(value="result") boolean result{
return new BatchFile(String.format(template, result)
}
}
我是新手,我已尽力了。有人请帮我谢谢你。