二开案例.WebApi.获取系统时间

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.WebApi.获取系统时间

【应用场景】

WebApi,获取系统时间。


【案例演示】

自定义WebApi接口,获取系统当前日期时间。


【实现步骤】

<1>编写自定义WebApi接口,代码如下

using Kingdee.BOS.App.Data;
using Kingdee.BOS.ServiceFacade.KDServiceFx;
using Kingdee.BOS.WebApi.ServicesStub;
using System;
namespace Jac.XkDemo.BOS.WebApi
{
    /// <summary>
    /// 【WebApi】获取系统时间
    /// </summary>
    public class GetSystemInfoWebApiService : AbstractWebApiBusinessService
    {
        public GetSystemInfoWebApiService(KDServiceContext context)
            : base(context)
        {
            //
        }
        /// <summary>
        /// 获取系统时间
        /// </summary>
        /// <param name="format">日期时间格式,例如:yyyy-MM-dd HH:mm:ss</param>
        /// <returns></returns>
        public string GetDate(string format)
        {
            var ctx = KDContext.Session.AppContext;
            if (ctx == null)
            {
                // 会话超时
                throw new Exception("ctx = null");
            }
            var sql = "SELECT NOW()";
            var now = DBUtils.ExecuteScalar<DateTime>(ctx, sql, DateTime.Now);
            if (string.IsNullOrWhiteSpace(format))
            {
                format = "yyyy-MM-dd HH:mm:ss.ffffff";
            }
            return now.ToString(format);
        }
    }
}



<2>拷贝WebApi接口组件到应用站点的WebSite\Bin目录下,重启IIS,开发完毕。



【功能验证】

<1>编写接口单元测试代码如下,验证通过。

using Kingdee.BOS.WebApi.Client;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace Jac.XkDemo.BOS.WebApiTests
{
    /// <summary>
    /// 【WebApi】获取系统时间Tests
    /// </summary>
    [TestClass]
    public class GetSystemInfoWebApiServiceTests
    {
        [TestMethod]
        public void GetDateTest()
        {
            // Init
            var url = "http://localhost:1600/k3cloud/";
            var dbid = "602f2c09aee85f";
            var userName = "demo";
            var password = "888888";
            int lcid = 2052;
            var apiClient = new K3CloudApiClient(url);
            var isLoginOk = apiClient.Login(dbid, userName, password, lcid);
            // Action
            if (isLoginOk)
            {
                var rval = apiClient.Execute<string>("Jac.XkDemo.BOS.WebApi.GetSystemInfoWebApiService.GetDate,Jac.XkDemo.BOS.WebApi", new object[] { "yyyy-MM-dd HH:mm:ss" });
                Assert.IsTrue(!string.IsNullOrWhiteSpace(rval));
                Console.WriteLine("系统当前时间:" + rval);
                return;
            }
            // Assert
            Assert.IsFalse(true);
        }
    }
}


【Postman测试结果】

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696


二开案例.WebApi.获取系统时间

【应用场景】WebApi,获取系统时间。【案例演示】自定义WebApi接口,获取系统当前日期时间。【实现步骤】<1>编写自定义WebApi接口,代码如...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息