根据下面的文字,用C#语言写出封装。接口: MAPPING数据下载 功能描述: 从MAPPING库下载坏点数据 接口地址(测试): http://cloud.koimy.com:8091/mapping/mappingData/GetData 接口地址(生产): 请求方式: POST 编码格式: UTF-8编码。 时间与日期: 秒级,yyyy-MM-dd HH:mm:ss 1)请求参数: Body参数定义: 参数代码 类型 描述 token 字符串(50) 机台的TOKEN。非空。 clientTime 字符串(50) 请求时间(秒级)。非空。 requestId 字符串(50) GUID唯一字符串,每次请求更新。非空。 data object 请求数据。非空。 data对象定义 参数代码 类型 描述 lotCode 字符串(100) 工单编号。lotCode/pnlCode/setCode三者至少一个非空。 pnlCode 字符串(100) PNL二维码。lotCode/pnlCode/setCode三者至少一个非空。 setCode 字符串(100) SET二维码。lotCode/pnlCode/setCode三者至少一个非空。 Body参数Application/json格式,举例(查PNL码下面所有数据): { "token":"token", "clientTime":"2022-03-07 23:00:03", "requestId":"5DD1CAFE-49F7-3900-BF44-4AD6865328C8", "data": { "lotCode":"", "pnlCode":"39992US-3012", "setCode":"" } }
时间: 2023-12-16 19:02:12 浏览: 82
以下是用C#语言封装的代码示例:
```csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
public class MappingDataDownloader
{
private const string TestUrl = "http://cloud.koimy.com:8091/mapping/mappingData/GetData";
private const string ProductionUrl = ""; // 填写生产环境的接口地址
private const string Token = "token";
private const string ClientTime = "2022-03-07 23:00:03";
private static readonly Guid RequestId = Guid.NewGuid();
public async Task<string> DownloadMappingData(string lotCode, string pnlCode, string setCode)
{
var apiUrl = GetApiUrl();
var requestBody = GenerateRequestBody(lotCode, pnlCode, setCode);
using (var httpClient = new HttpClient())
{
var content = new StringContent(requestBody, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(apiUrl, content);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
}
private string GetApiUrl()
{
return string.IsNullOrEmpty(ProductionUrl) ? TestUrl : ProductionUrl;
}
private string GenerateRequestBody(string lotCode, string pnlCode, string setCode)
{
return $@"
{{
""token"": ""{Token}"",
""clientTime"": ""{ClientTime}"",
""requestId"": ""{RequestId}"",
""data"": {{
""lotCode"": ""{lotCode}"",
""pnlCode"": ""{pnlCode}"",
""setCode"": ""{setCode}""
}}
}}";
}
}
```
你可以通过调用 `DownloadMappingData` 方法来下载MAPPING库的坏点数据。传入工单编号、PNL二维码和SET二维码中的任意一个或多个作为参数。请注意替换 `TestUrl` 和 `ProductionUrl` 常量为实际的接口地址。
阅读全文