Java Spring拒绝发送响应,但不抛出异常
我的POJO/数据模型:Java Spring拒绝发送响应,但不抛出异常,java,rest,spring-mvc,spring-boot,Java,Rest,Spring Mvc,Spring Boot,我的POJO/数据模型: public class CanResendResponse { @JsonProperty(value = "canResend") @NotEmpty public Boolean canResend; // getters, setters & ctors } 我的Spring启动控制器和方法: @RestController @RequestMapping("v1/data/fizzes") class FizzRes
public class CanResendResponse {
@JsonProperty(value = "canResend")
@NotEmpty
public Boolean canResend;
// getters, setters & ctors
}
我的Spring启动控制器和方法:
@RestController
@RequestMapping("v1/data/fizzes")
class FizzResource {
@GetMapping(value = "{fizzId}/canResend")
public void canResendVerifications(@PathVariable(value = "fizzId") String fizzId) {
Fizz fizz = fizzRepository.findById(fizzId);
Boolean canResend;
System.out.println("Fizz name:" + fizz.getName());
if(fizz.canResend()) {
canResend = Boolean.TRUE;
} else {
canResend = Boolean.FALSE;
}
return new ResponseEntity<CanResendResponse>(new CanResendResponse(canResend), HttpStatus.OK);
}
}
运行curl命令时,我在服务器端没有看到任何异常/错误,curl完成时没有错误,但我没有看到预期的HTTP响应实体,如:
{
"canResend" : "true"
}
但是我确实在STDOUT中看到了fizzname:Joe
消息
我已经在浏览器中确认了相同的行为(我打孔
https://localhost:9200/v1/data/fizzes12345/canResend
)导入浏览器,响应/页面为空我能做些什么来解决这个问题呢?你的方法有无效返回类型。试试这个:
@GetMapping(value = "{fizzId}/canResend")
public ResponseEntity canResendVerifications(@PathVariable(value = "fizzId") String fizzId) {
Your method code goes here...
}
改变
public void canResendVerifications(@PathVariable(value = "fizzId") String fizzId) {
到
public ResponseEntity可以重新发送验证(@PathVariable(value=“fizzId”)字符串fizzId){
…并确保
返回确保ResponseEntity
您从未从methodCut n paste错误中返回任何内容-请查看我的更新@shazin当方法签名无效时,您如何返回一些内容?您甚至在Stackoverflow中发布之前编译过这些内容吗?嗨@shazin这实际上是用Groovy编写的,我很抱歉-用Java编写代码以便粘贴到这里。Groovy允许这样做,Java不允许。但既然我知道这是对Spring的错误利用(就我而言),我不想让人们对Groovy的东西感到困惑。
public void canResendVerifications(@PathVariable(value = "fizzId") String fizzId) {
public ResponseEntity<> canResendVerifications(@PathVariable(value = "fizzId") String fizzId) {