簡體   English   中英

spring 引導應用程序中的 Java 方法,該應用程序接收另一個方法的結果作為參數

[英]Java method in a spring boot aplication that receives the result of another method as parameter

我正在構建一個 Spring 引導服務器。 在我的 controller 中,我將結果從 DAO 轉換為 DTO,然后將它們放入 ResponseEntity 中。 但是,我的服務中有無效的方法。

所以我有這個代碼:

protected final <T> ResponseEntity<T> of(T param) {
    if (param != null)
        return status(HttpStatus.OK).body(param);
    else
        return status(status).build();
    }

protected final <S, T> ResponseEntity<S> of(T param, Class<S> target) {
    if (param != null)
        return status(HttpStatus.OK).body(convert(param, target));
    else
        return status(status).build();
}

第一個接收一個參數並構建一個狀態為 OK(200) 且如果 T,= null 的 ResponseEntity。 以T為主體,秒做類似。 但是使用 ModelMapper 將 S 轉換為 T 意味着 DAO 到 DTO:我的問題是我可以進行任何修改或添加一些代碼以使其成為可能:

//in my service layer

public void test() {
    //do stuff here
}

//then in the controller

public ResponseEntity<Void> test() {
    return ok(service.test());
}

現在當我這樣做時,它告訴我它不能將 void 轉換為 T。

如果您只是將返回類型替換為ResponseEntity ,它應該可以工作。

public ResponseEntity test() {
    return ok(service.test());
}

這也應該允許您在正文中返回字符串消息,即使它不是 T 類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM