All checks were successful
Run the JSON parser tests / test (push) Has been skipped
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using Jtr.Tools.API.Requests;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Jtr.Tools.API.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public class TransformController : ControllerBase
|
|
{
|
|
[HttpPost("uglify")]
|
|
public IActionResult Uglify([FromBody] UglifyRequest request)
|
|
{
|
|
var context = new JsonFormatter.Context { Beautify = false };
|
|
|
|
var result = JsonFormatter.Format(request.Source, context);
|
|
|
|
return Ok(new { Result = result });
|
|
}
|
|
|
|
[HttpPost("beautify")]
|
|
public IActionResult Beautify([FromBody] BeautifyRequest request)
|
|
{
|
|
var context = new JsonFormatter.Context { Beautify = true, IndentSize = request.IndentSize };
|
|
|
|
var result = JsonFormatter.Format(request.Source, context);
|
|
|
|
return Ok(new { Result = result });
|
|
}
|
|
|
|
[HttpPost("json2csharp")]
|
|
public IActionResult Json2CSharp([FromBody] Json2CsharpRequest request)
|
|
{
|
|
var context = new Json2CSharpTranslator.Context
|
|
{
|
|
RootClassName = request.RootClassName,
|
|
Namespace = request.Namespace,
|
|
};
|
|
|
|
var result = Json2CSharpTranslator.Translate(request.Source, context);
|
|
|
|
return Ok(new { Result = result });
|
|
}
|
|
|
|
[HttpPost("jsonpath")]
|
|
public IActionResult JsonPath([FromBody] JsonPathRequest request)
|
|
{
|
|
var result = Tools.JsonPath.Interpreter.Evaluate(request.Source, request.Path);
|
|
return Ok(new { Result = JsonFormatter.Format(result, new() { Beautify = true }) });
|
|
}
|
|
} |