Skip to content

REST API

restapi

概述

STP在线查看器服务端从文件管理的角度对外提供REST接口。这些接口可以很方便的集成到第三方服务上,实现对3D源文件的管理。

BASE_URL

STP在线查看器服务部署地址。

文件上传接口

接口名称:文件上传

接口URL${BASE_URL}/api/file/:fileType/:streamId

HTTP 方法:POST

描述:该接口用于上传指定类型的3D文件至指定的工作空间(streamId)。

请求参数

  • URL Path Parameters
    • fileType (string,必填):文件类型,例如 "stp""step" 等3D文件格式。
    • streamId (string,必填):目标工作空间ID,例如 3fe0ed8b68
  • Request Headers
    • Content-Type (string,必填):设置为 multipart/form-data,用于上传文件内容。
  • Request Body
    • file (file,必填):待上传的3D文件,以 multipart/form-data 格式提交。

响应参数

  • Status Code
    • 201 OK:文件上传成功,响应体包含上传结果的JSON对象。
    • 400 Bad Request:请求参数错误或文件不满足要求。
    • 401 Unauthorized:用户未授权访问该资源。
    • 5XX Server Error:服务器错误。

响应体示例(成功)

json
{
    "uploadResults": [
        {
            "blobId": "037d715265",
            "fileName": "J1.STEP",
            "uploadStatus": 1,
            "fileSize": 2213080
        }
    ]
}

查询文件信息接口

接口名称:查询文件详情

接口URL${BASE_URL}/api/file/filecommit/:fileId

HTTP 方法:GET

描述:此接口用于查询单个文件的详细信息,包括转换状态和错误信息等。

请求参数

  • URL Path Parameters
    • fileId (string,必填):待查询文件的唯一标识ID(blobId)。

响应参数

  • Status Code
    • 200 OK:查询成功,响应体包含文件详情的JSON对象。
    • 400 Bad Request:请求参数错误。
    • 5XX Server Error:服务器错误。

响应体示例(成功)

json
{
    "fileId": "037d715265",
    "commitId": "2660129011",
    "referencedObject": "9b3156401e480189c443aebef6985157",
    "uploadComplete": true,
    "uploadDate": "2024-03-01T02:57:36.997Z",
    "convertedStatus": 2,
    "convertedLastUpdate": "2024-03-01T02:57:54.008Z",
    "comment": null,
    "convertedMessage": "File converted successfully"
}

源文件下载接口

接口名称:下载源文件

接口URL${BASE_URL}/api/stream/:streamId/blob/:fileId

HTTP 方法:GET

描述:此接口用于下载指定文件,通过工作空间ID和文件ID获取原始文件内容。

请求参数

  • URL Path Parameters
    • streamId (string,必填):工作空间ID。
    • fileId (string,必填):待下载文件的唯一标识ID(blobId)。

响应参数

  • Status Code
    • 200 OK:文件下载成功,响应体为原始文件内容。
    • 400 Bad Request:请求参数错误。
    • 5XX Server Error:服务器错误。

分页查询文件信息接口

接口名称:分页查询文件列表

接口URL${BASE_URL}/api/file/list

HTTP 方法:POST

描述:此接口用于按条件分页查询文件列表,返回每个文件的详细信息。

请求参数

  • Body Parameters
    • streamId (string,必填):工作空间ID。
    • startDate (string,非必填):开始时间,格式为 YYYY-MM-DD HH:mm:ss
    • endDate (string,非必填):结束时间,格式同上。
    • pageNum (number,必填):当前页码。
    • pageSize (number,必填):每页显示的记录数。

响应参数

  • Status Code
    • 200 OK:查询成功,响应体包含分页文件列表的JSON对象。
    • 400 Bad Request:请求参数错误。
    • 5XX Server Error:服务器错误。

响应体示例(成功)

json
{
    "code": 0,
    "data": {
        "total": [
            {
                "count": "70"
            }
        ],
        "list": [
           {
    			 "id": "bf49015de5",
                "streamId": "fbdb0ea035",
                "branchName": "main",
                "userId": "58743da94c",
                "fileName": "Myinhe.fbx.zip",
                "fileType": "fbx",
                "fileSize": 2532192,
                "uploadComplete": true,
                "uploadDate": "2024-03-01T03:15:24.584Z",
                "convertedStatus": 2,
                "convertedLastUpdate": "2024-03-01T03:15:37.218Z",
                "convertedMessage": "File converted successfully",
                "convertedCommitId": "11aadfbdda",
    		 }
        ]
    }
}