Some other func
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!--Work around so the conditions work below-->
|
||||
<TargetFrameworks>netstandard1.0;netstandard2.0;Xamarin.iOS10;MonoAndroid10.0;net8.0;net8.0-android;net8.0-ios</TargetFrameworks>
|
||||
<!--<TargetFrameworks>netstandard1.0;netstandard2.0;Xamarin.iOS10;MonoAndroid10.0;net8.0;net8.0-android;net8.0-ios</TargetFrameworks>-->
|
||||
<TargetFrameworks>net8.0;net8.0-android;net8.0-ios</TargetFrameworks>
|
||||
|
||||
<AssemblyName>Plugin.NFC</AssemblyName>
|
||||
<RootNamespace>Plugin.NFC</RootNamespace>
|
||||
|
||||
@@ -9,9 +9,15 @@ namespace WorkFlowCheck.API.Controllers
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
[HttpGet]
|
||||
public ActionResult<ResponseDTO> Get()
|
||||
public async Task<ApiResponseDTO<UserDTO>> Get()
|
||||
{
|
||||
return new ResponseDTO { Message = "Success" };
|
||||
var userDTO = new UserDTO() { Id = 1, Email = "email", Name = "Name" };
|
||||
var retVal = new ApiResponseDTO<UserDTO>()
|
||||
{
|
||||
IsSuccess = true,
|
||||
Data = userDTO
|
||||
};
|
||||
return retVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using WorkFlowCheck.API;
|
||||
using WorkFlowCheck.DL;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
@@ -45,12 +46,13 @@ builder.Services.AddSwaggerGen(c =>
|
||||
});
|
||||
});
|
||||
|
||||
// Szolgáltatások hozzáadása
|
||||
builder.Services.AddControllers().AddJsonOptions(options =>
|
||||
{
|
||||
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
|
||||
options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
||||
}); ;
|
||||
builder.Services.AddControllers()
|
||||
.AddNewtonsoftJson(options =>
|
||||
{
|
||||
// Itt konfigurálhatod az egyedi beállításokat
|
||||
options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
|
||||
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
|
||||
});
|
||||
|
||||
var app = builder.Build();
|
||||
// Swagger middleware
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.11" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace WorkFlowCheck.BL.DTO
|
||||
{
|
||||
public class ApiResponseBaseDTO
|
||||
{
|
||||
public bool IsSuccess { get; set; }
|
||||
public IEnumerable<string> Errors { get; set; }
|
||||
public bool HandleError { get; set; }
|
||||
public string Error
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Errors == null || Errors.Count() == 0) return string.Empty;
|
||||
return string.Join(';', Errors);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ApiResponseDTO : ApiResponseBaseDTO
|
||||
{
|
||||
public object Data { get; set; }
|
||||
}
|
||||
|
||||
public interface IApiResponseDTO<out T>
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class ApiResponseDTO<T> : ApiResponseBaseDTO, IApiResponseDTO<T>
|
||||
{
|
||||
public T Data { get; set; }
|
||||
}
|
||||
public class ApiResponseListDTO<T> : ApiResponseBaseDTO
|
||||
{
|
||||
public T[] Data { get; set; }
|
||||
public int Total { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace WorkFlowCheck.BL.DTO
|
||||
{
|
||||
[JsonSerializable(typeof(ResponseDTO))]
|
||||
public class ResponseDTO
|
||||
{
|
||||
public string Message { get; set; } = null!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace WorkFlowCheck.BL.DTO
|
||||
{
|
||||
public class UserDTO
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; } = null!;
|
||||
public string Email { get; set; } = null!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http.Json;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WorkFlowCheck.BL.DTO;
|
||||
|
||||
namespace WorkFlowCheck.MAUI.Services
|
||||
{
|
||||
public class UserService
|
||||
{
|
||||
private readonly HttpClient _httpClient;
|
||||
public UserService(HttpClient httpClient)
|
||||
{
|
||||
_httpClient = httpClient;
|
||||
|
||||
// Alapértelmezett fejléc beállítása az API-kulccsal
|
||||
_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_API_KEY");
|
||||
// Ha egyéni fejlécet használsz:
|
||||
// _httpClient.DefaultRequestHeaders.Add("X-Api-Key", "YOUR_API_KEY");
|
||||
}
|
||||
public async Task<ApiResponseDTO<UserDTO>> GetUserAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
// Az API végpont meghatározása
|
||||
string endpoint = "api/user";
|
||||
|
||||
// HTTP GET kérés küldése
|
||||
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<UserDTO>>(endpoint);
|
||||
|
||||
return response ?? new ApiResponseDTO<UserDTO>
|
||||
{
|
||||
IsSuccess = false,
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Hiba visszaadása
|
||||
return new ApiResponseDTO<UserDTO>
|
||||
{
|
||||
IsSuccess = false
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,6 +57,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.1" />
|
||||
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
|
||||
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.1" />
|
||||
@@ -64,6 +66,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Plugin.NFC\Plugin.NFC.csproj" />
|
||||
<ProjectReference Include="..\WorkFlowCheck.BL\WorkFlowCheck.BL.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user