Java 当从restcontroller抛出异常时,gradle构建的intellij和jar会产生不同的结果
异常与TestController中的“test Exception”消息一起引发。 当我用intellij运行这段代码时,我可以检查我的错误消息作为响应! 我和邮递员核对过了。看! 我们可以看到相应的信息。 此消息用作axios的警报消息 但是我看不到这个消息,当我运行这个代码作为由Java 当从restcontroller抛出异常时,gradle构建的intellij和jar会产生不同的结果,java,spring-boot,gradle,Java,Spring Boot,Gradle,异常与TestController中的“test Exception”消息一起引发。 当我用intellij运行这段代码时,我可以检查我的错误消息作为响应! 我和邮递员核对过了。看! 我们可以看到相应的信息。 此消息用作axios的警报消息 但是我看不到这个消息,当我运行这个代码作为由gradlebuild命令构建的jar时! 这是《邮递员》的结果。 消息为空,并且错误为内部服务器错误 获取唯一的响应消息,然后返回jax响应对象,而不是测试方法中的Void。 下面是一个示例代码 packag
gradlebuild
命令构建的jar时!
这是《邮递员》的结果。
消息为空,并且错误为内部服务器错误 获取唯一的响应消息,然后返回jax响应对象,而不是测试方法中的Void。 下面是一个示例代码
package refill.station.controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@PostMapping("/test")
public void test() {
throw new NullPointerException("test Exception");
}
}
import java.io.Serializable;
import javax.ws.rs.core.Response;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@PostMapping("/test")
public Response test() {
MyResponse response = new MyResponse();
try {
processReqest();
} catch (Exception ex) {
response.setResponseText(ex.getMessage());
return Response.ok(response).status(200).build();
}
return Response.ok(response).status(200).build();
}
private void processReqest() {
throw new NullPointerException("test Exception");
}
}
class MyResponse implements Serializable{
private static final long serialVersionUID = -3015657137609271996L;
private String responseText;
public String getResponseText() {
return responseText;
}
public void setResponseText(String responseText) {
this.responseText = responseText;
}
}