jtr/DevDisciples.Json.Tools.API/Controllers/TransformController.cs
2024-09-15 22:25:14 +02:00

43 lines
1.2 KiB
C#

using DevDisciples.Json.Tools.API.Requests;
using Microsoft.AspNetCore.Mvc;
namespace DevDisciples.Json.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("prettify")]
public IActionResult Prettify([FromBody] PrettifyRequest 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 });
}
}