Apex 数据传输对象。反序列化数据

Apex Data Transfer Object. Deserializing data

我是 Apex 和 SF 的新手,我必须处理来自我们呼叫的第 3 方 API 的一些错误。我一直在使用 DTO 和非常简单的响应对象,我们得到的错误响应对象又多了一个级别。

JSON 来自 API 的回复:

{
    "error": {
        "message": "File couldn't be downloaded: main_panel"
    }
}

DTO 文件:

public class CreateCadRequestError {
        public string error;
        public CreateCadRequestErrorMessage message;
    }
    
    public class CreateCadRequestErrorMessage {
        public string message;
    }

Apex class 反序列化数据

class SoloConnector {
    resp = makeNetworkCall()...
    SoloDTO.CreateCadRequestError resp = ( SoloDTO.CreateCadRequestError )JSON.deserialize( response.getBody(), SoloDTO.CreateCadRequestError.class );
    System.debug('resp: ' + resp.error + resp.message);

}

我收到一个错误

illegal value for primitive

我假设它是我的 DTO class 并且无法序列化数据。有什么建议吗?

找到答案,我的 DTO 设置不正确:

public class CreateCadRequestError {
    public CreateCadRequestErrorMessage error;
}
public class CreateCadRequestErrorMessage {
    public string message;
}