コード例 #1
0
        public async Task <IActionResult> InteractiveTranslateAsync(string locatorType, string locator,
                                                                    [FromBody] string[] segment)
        {
            Engine engine = await _engines.GetByLocatorAsync(GetLocatorType(locatorType), locator);

            if (engine == null)
            {
                return(NotFound());
            }
            if (!await AuthorizeAsync(engine, Operations.Read))
            {
                return(StatusCode(StatusCodes.Status403Forbidden));
            }

            HybridInteractiveTranslationResult result = await _engineService.InteractiveTranslateAsync(engine.Id,
                                                                                                       segment);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(CreateDto(result, segment)));
        }