gpt4 book ai didi

java - 在 Typescript 中导入 Java 对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:18 25 4
gpt4 key购买 nike

对于反对者 - 这是一个合理的问题。在假设我像某种编程新手一样混淆我的语言之前,请花时间检查它!

我需要知道是否可以在 Typescript 脚本中导入 Java 对象(特别是枚举类)。

我用谷歌搜索但没有找到任何东西。

ErrorCodeAuthority 用于针对每个已知错误从我们的服务中抛出自定义的标准化错误,并在一个地方定义设置消息(一些参数化,一些未参数化)、http 状态代码等。

在我们的javascript代码中我们有

var JavaErrorCodeAuthority = Java.type("com.domain.ErrorCodeAuthority");

是否可以在 Typescript 中做同样的事情?

根据以下答案进行编辑

我已经声明了以下内容:

declare module Java {
export enum ErrorCodeAuthority {
ENTITY_NOT_FOUND,
HTTP_VERB_NOT_SUPPORTED,
BAD_REQUEST,
//...
}
export function type(arg: "com.domain.ErrorCodeAuthority"): ErrorCodeAuthority;
export function type(arg: string): any;
}
var JavaErrorCodeAuthority = Java.type("com.domain.ErrorCodeAuthority");

我正尝试按如下方式使用新类型:

export class HttpFailResult extends HttpResult {
constructor(public errorCode : Java.ErrorCodeAuthority, public userParams? : UserParam[]) {
super(errorCode.httpStatus.value(), errorCode.toString());
}
}

当我尝试使用 grunt 编译为 js 时出现以下错误:

error TS2339: Property 'httpStatus' does not exist on type 'ErrorCodeAuthority'.

(供引用,super HttpResult 是一个包含number http code 和stringbody 的对象。HttpStatus,在 Java 枚举中,类型为org.springframework.http.HttpStatus`)。

我尝试删除 export function type(arg: "com.domain.ErrorCodeAuthority"): ErrorCodeAuthority; 行,但这并没有改变异常。

编辑 2如果有区别,我们将在 nashorn 容器中运行所有这些内容

最佳答案

Is it possible to do the same in Typescript?

是的。用1c , 你可以写

let JavaErrorCodeAuthority = com.domain.ErrorCodeAuthority

而且每一级包都会有自动补全。

关于java - 在 Typescript 中导入 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27492384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com