【发布时间】:2019-02-08 03:32:17
【问题描述】:
我正在学习 C#,通过这个类,我从 API 获取 JSON 格式的信息,然后从表单中我调用我的类“MyClass”来将值放在相应的字段中,但我不知道如何检测是否与 API 的连接不成功,我知道必须使用 try 和 catch,这就是为什么我将它放在我的“MyClass”类中但我不知道如何正确进行验证:
我有这些定义的类:
public class Lawyer
{
public string type { get; set; }
public string numdoc { get; set; }
public string name { get; set; }
public string date { get; set; }
}
public class Worker
{
public string time { get; set; }
public string service { get; set; }
}
public class Result
{
public string id { get; set; }
public string name { get; set; }
public string Condition { get; set; }
public string PLE { get; set; }
public List<Lawyer> lawyers { get; set; }
public List<Worker> workers { get; set; }
}
public class RootObject
{
public bool success { get; set; }
public Result result { get; set; }
}
这是我的“MyClass”(我尝试使用“try”和“catch”但我不知道这是否是正确的方法......):
class MyClass
{
public RootObject MyMethod(int inRUC){
try {
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"https://www.example.com/api/?get=" + inRUC);
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
{
var json = reader.ReadToEnd();
return JsonConvert.DeserializeObject<RootObject>(json);
}
}
catch (Exception)
{
return null;
}
}
}
这是我的表单中调用该类的部分,它工作正常,但我不知道如何从这里验证与 API 的连接是否成功:
private void Button1_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
{
if (string.IsNullOrEmpty(txtRuc1.Value.ToString()))
{
BubbleEvent = false;
}
else
{
BubbleEvent = true;
int para = 0;
int.TryParse(txtRuc1.Value, out para);
MyClass obj = new MyClass();
EditText1.Value = obj.MyMethod(para).result.name;
}
}
【问题讨论】:
标签: c# methods return httpwebrequest