[总结一下]最近的工作
2017-03-09 16:34
267 查看
一、如何写接口说明文档
最近的工作是围绕接口进行第三方开发,其中一个是第三方给出接口,在系统中进行接入。主要的困难时接口说明不详细,需要 很多次的尝试。在这里学习到如何去写接口说明[b] 首先,给出接口地址以及使用方法[/b]
[b] 其次,给出每个接口的详细说明[/b]
1、接口名称:功能描述 2、参数说明: 3、返回结果说明:
[b] 最后,在写接口的时候应该进行异常判断,给出准确的返回信息,而不是给出“错误”,“请检查数据”这些不精确的信息[/b]
二、接口常用到的方法
[b]1、生成代理类[/b]Vs在工具中有命令提示cmd窗口工具,打开以后使用下面的语句生成代码类,将代理类添加到项目中即可使用项目接口 wsdl /language:c# /n:XYS.MISS.Photo.PhotoAdmin /out:d:\Temp\TestService.cs D:\Temp\TestService.wsdl
[b]2、如何处理返回的xml信息[/b]
xml作为Webservice的一种返回信息的常见格式,经常可以在接口开发中遇到。
xml生成xsd架构
xsd d:\TDDOWNLOAD\atom-author-link.xml /c /language:C# /outputdir:d:\
xml架构生成对应的类
xsd d:\TDDOWNLOAD\atom-author-link.xsd /c /language:C# /outputdir:d:\
[b]将xml信息转换为实体对象即xml序列化与反序列化[/b]
public static T Desrialize<T>(string xml) { T obj = default(T); XmlSerializer xs = new XmlSerializer(typeof(T)); TextReader tr; tr = new StringReader(xml); using (tr) { obj = (T)xs.Deserialize(tr); } return obj; } public static string XMLSerialize<T>(T entity) { StringBuilder buffer = new StringBuilder(); XmlSerializer serializer = new XmlSerializer(typeof(T)); using (TextWriter writer = new StringWriter(buffer)) { serializer.Serialize(writer, entity); } return buffer.ToString(); }
[b]4、特殊说明[/b]
ICollection不能序列化与反序列化可以采伐List
不应有 。这个错误一般都是xml不能反序列化为目标对象类型造成的,我的这个原因是因为:xml的根节点(xml)和对象名(wxp_message)不一样导致的不能反序列化
[b]5、Code First模式[/b]
使用该模式进行数据库映射的时候,如果出现命名空间不一样,类名一样的情况会报错,需改更改类名,此外可以使用DataAnnonation进行xmlfan反序列化的映射,如下面的LicensesJDS对应xml文档中Licenses节点名
/// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)] [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false, ElementName = "Licenses")] public partial class LicensesJDS { [Key] public int ID { get; set; } private List<LicensesLicenseJDS> licenseField; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute("license")] public List<LicensesLicenseJDS> license { get { return this.licenseField; } set { this.licenseField = value; } } }
相关文章推荐
- 最近一直在做C#操作office方面的工作!总结一下!(一)Excel
- 总结一下最近的工作2018-3-26
- 最近一直在做C#操作office方面的工作!总结一下!Word(二)
- 最近一直在做C#操作office方面的工作!总结一下!Word(二)
- 总结一下,最近工作中的问题
- 最近一直在做C#操作office方面的工作!总结一下!(一)Excel
- 很久没更新了,总结一下最近的工作进展(附截图)
- 最近坛子里问行列转换的很多,简单总结一下。
- 最近做了一个小小的系统,收获挺大的....我想总结一下
- 总结一下自己最近经常去的十大网站
- 新单位工作一个月了,应该写点东西总结一下了
- 最近学习了一下PHYSICAL_MEMORY对象,总结之
- 最近实在是无所事事,总结一下
- 时间过的真快啊,总结一下近期工作吧
- 最近忙到找工作,把jsp方面的问题总结了一下
- 最近忙到找工作,把jsp方面的问题总结了一下
- 总结一下最近看设计模式的收获
- 最近坛子里问行列转换的很多,简单总结一下。
- 第一次触电Blog,希望总结一下自己最近的学习成果
- 总结一下最近一段时间导出数据到Excel的几种方法