コード例 #1
0
        public async Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext.HttpContext.Request.ContentType.StartsWith(ContentType, StringComparison.OrdinalIgnoreCase) == true)
            {
                dynamic data     = null;
                var     response = new PostTest();

                var body   = bindingContext.HttpContext.Request.Body;
                var reader = new StreamReader(body);
                var text   = await reader.ReadToEndAsync();

                var contract = JsonConvert.DeserializeObject <object>(text);
                response.Data = contract;
                //var properties = typeof(object).GetProperties();

                //foreach (var property in properties)
                //{
                //    var valueProvider = bindingContext.ValueProvider.GetValue(property.Name);
                //    var valueProvider = contract.GetType().GetProperty(property.Name).GetValue(contract, null);
                //    if (string.IsNullOrWhiteSpace(valueProvider.FirstValue) is false)
                //    {
                //        property.SetValue(contract, valueProvider.FirstValue);
                //    }
                //TODO: Get params from header
                //TODO: Get params from claims
                //}

                var token    = bindingContext.HttpContext.Request.Headers[HeaderNames.Authorization][0];
                var document = bindingContext.HttpContext.Request.Headers["Document"][0];
                response.Token    = token;
                response.Document = document;

                bindingContext.Result = ModelBindingResult.Success(response);
            }
        }
コード例 #2
0
        public IActionResult PostMessage([FromBody] PostTest data)
        {
            string          connectionString = "server=<YourDatabaseHost>; database=<YourDatabaseName>; username=<Database_UserName>; password=<Database_UserPassWord>; oldguids=true; SslMode=None";
            MySqlConnection conn             = new MySqlConnection(connectionString);

            string       strSQL = @"INSERT INTO `messageboard2` (`MessageTime`, `Name`, `Content`)  VALUES (@MessageTime, @Name, @Content)";
            MySqlCommand cmd    = new MySqlCommand(strSQL, conn);


            var date = DateTimeOffset.Now.AddHours(8).ToUnixTimeSeconds();

            conn.Open();
            cmd.Parameters.Add("@MessageTime", MySqlDbType.Int32).Value = date;
            cmd.Parameters.Add("@Name", MySqlDbType.VarChar).Value      = data.name;
            cmd.Parameters.Add("@Content", MySqlDbType.VarChar).Value   = data.content;
            cmd.ExecuteNonQuery();
            conn.Close();
            return(Content("OK"));
        }