using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using trieTree.xiaoshi.sz.com;
namespace AddressPaser.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class AddressController : ControllerBase
{
private readonly AddressUtility parser;
public AddressController(AddressUtility mySingleton)
{
parser = mySingleton;
}
[HttpGet(Name = "Paser")]
public ResponseResult
Paser(string Address)
{
try
{
List? strings = parser.Paser(Address);
if (strings != null)
{
ResponseResult ret = new ResponseResult();
ret.Status = 200;
ret.Message = string.Empty;
ret.Result = new Address();
ret.Result.OriginalAddress = Address;
if (strings.Count > 0)
{
ret.Result.Province = strings[0];
}
if (strings.Count > 1)
{
ret.Result.City = strings[1];
}
if (strings.Count > 2)
{
ret.Result.Area = strings[2];
}
return ret;
}
else
{
ResponseResult ret = new ResponseResult();
ret.Status = 500;
ret.Message = "解析地址没有得到结果,请确认给出的地址是否正确!";
ret.Result = new Address();
ret.Result.OriginalAddress = Address;
return ret;
}
}
catch (Exception ex)
{
ResponseResult ret = new ResponseResult();
ret.Status = 500;
ret.Message = $"解析地址出错[{ex.Message}]";
ret.Result = new Address();
ret.Result.OriginalAddress = Address;
return ret;
}
}
}
}