[Consumes("application/json")] // supports only json public IActionResult Post(InersectionOperationParam myJson) { var pathToScriptFolder = Configuration["pathToAnalysisScriptFolder"]; var scriptName = Configuration["AnalysisScriptNames:intersectScript"]; var qgisPython = Configuration["ScriptRunners:qgisCmdPath"]; ResultObject output; using (var tempFiles1 = new TempFileCollection()) { string inputLayerFile = tempFiles1.AddExtension("geojson"); string overlayLayerFile = Path.ChangeExtension(Path.GetTempFileName(), "geojson"); tempFiles1.AddFile(overlayLayerFile, false); System.IO.File.WriteAllText(inputLayerFile, myJson.InputLayer.ToString()); System.IO.File.WriteAllText(overlayLayerFile, myJson.OverlayLayer.ToString()); string args = _creator.buildIntersectionCommand(pathToScriptFolder, scriptName, inputLayerFile, overlayLayerFile); output = _python.RunCMD(args, qgisPython); } return(_outputHandler.HandleQgisOutput(output)); }