コード例 #1
0
        public async Task <IActionResult> PostAsync([FromBody] string censoData)
        {
            if (string.IsNullOrWhiteSpace(censoData))
            {
                return(BadRequest(new { error = $"{nameof(censoData)} must not be empty" })); // BadRequest
            }
            var mappings = await censoMappingRepository.GetAll();

            if (mappings == null || mappings.Count() < 1)
            {
                return(StatusCode(500, new { error = $"No mapping found" }));
            }

            EngineCenso engine        = new EngineCenso();
            var         viableMappers = engine.FindViableMappers(mappings.Select(x => x.ToPropertyMapper()), censoData);

            if (viableMappers == null || viableMappers.Count() < 1)
            {
                return(StatusCode(500, new { error = $"No mappings able to parse data" }));
            }

            if (viableMappers.Count() > 1)
            {
                logger.LogWarning($"{viableMappers.Count()} viable mappers found for input {censoData}.");
            }

            var output = engine.Process(censoData, viableMappers.First());

            return(Json(output));
        }
コード例 #2
0
        public async Task <IActionResult> PostAsync([FromBody] string censoData)
        {
            var mappings = await censoMappingRepository.GetAll();

            EngineCenso engine = new EngineCenso(mappings.Select(x => x.ToPropertyMapper()));
            var         output = engine.Process(censoData);

            return(Json(output));
        }
コード例 #3
0
 public async Task <IActionResult> Get()
 {
     return(Json(await censoMappingRepository.GetAll()));
 }