无法为自定义 ThingWorx 服务设置 HTTP 状态代码。
我需要针对 Thingworx 服务中的错误情况发送适当的 HTTP 状态代码。当我使用 GenericHTTPException 时,它设置了正确的代码,但它在我的 JSON 响应中添加了“无法调用服务”,这对 AJAX 客户端不起作用。我应该能够发送纯 JSON 响应以及正确的 HTTP 状态代码
@ThingworxServiceDefinition(name = "GetServiceProviderHeirarchy", category = "PTC")
@ThingworxServiceResult(name = "result", baseType = "JSON")
public JSON GetServiceProviderHeirarchy(
@ThingworxServiceParameter(name = "seedURI", baseType = "STRING")String seedURI,
@ThingworxServiceParameter(name = "depth", baseType = "INTEGER")Integer depth,
@ThingworxServiceParameter(name = "resourceType", baseType = "STRING")String resourceType,
@ThingworxServiceParameter(name = "serverName", baseType = "STRING")String serverName)
throws Exception {
if(serverName == null || serverName.isEmpty()){
JSONObject jsonErrObject = new JSONObject();
jsonErrObject.put("message", "Values to input parameter serverName is missing");
logger.error("serverName is not provided");
throw new InvalidRequestException(jsonErrObject.toString(), RESTAPIConstants.StatusCode.STATUS_BAD_REQUEST);
}
}
实际结果:
无法在 UpstreamOslcDataServicesThing 上调用服务 GetServiceProviderHeirarchy:{“message”:“找不到资源类型 RequirementResourcec 的配置。请联系您的管理员。”}
预期结果:
{"message":"找不到资源类型 RequirementResourcec 的配置。请联系您的管理员。"}