【发布时间】:2021-08-17 14:26:43
【问题描述】:
您好,只是想澄清一下
我正在为 Blazor Web 程序集开发一个项目,我的 Api 控制器给出以下错误消息。
错误 CS0051 可访问性不一致:参数类型“IAuthRepository”的可访问性低于方法“AuthController.AuthController(IAuthRepository)”BattlesBlazor.Server
这是我的服务响应类
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BattlesBlazor.Shared
{
public class ServiceResponse<T>
{
public T Data { get; set; }
public bool Success { get; set; }
public string Message { get; set; }
}
}
这是我的 IAuthRepository
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace BattlesBlazor.Server.Data
{
interface IAuthRepository
{
Task<ServiceResponse<int>> Register(User user, string password);
Task<ServiceResponse<string>> Login(string email, string password);
Task<bool> UserExists(string email);
}
}
这是 AuthController
using BattlesBlazor.Shared;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace BattlesBlazor.Server.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
private readonly IAuthRepository _authRepo;
public AuthController(IAuthRepository authRepo)
{
_authRepo = authRepo;
}
[HttpPost("register")]
public async Task<IAuthRepository> Register(UserRegister request)
{
var response = await _authRepo.Register(
new User {
Username = request.Username,
Email = request.Email,
Bananas = request.Bananas,
DateOfBirth =request.DateOfBirth,
IsConfirmed = request.IsConfirmed
}, request.Password );
if (!response.Success)
{
return BadRequest(response);
}
return Ok(response);
}
}
我尝试从“public class AuthController : ControllerBase”中删除“public”,这确实消除了错误,但是在 PostMan 上没有响应
如果有人可以请给我一些建议,我将不胜感激
【问题讨论】:
标签: c# asp.net-mvc blazor-webassembly asp.net5