4

这是我在应用层中的 aspBoilerpLate 中的模块

 [DependsOn(typeof(TransitCoreModule), typeof(AbpAutoMapperModule))]
    public class TransitApplicationModule : AbpModule
    {
        public override void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
        }
    }

这是我的 webapimodule

 [DependsOn(typeof(AbpWebApiModule), typeof(TransitApplicationModule))]
    public class TransitWebApiModule : AbpModule
    {
        public override void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());


            DynamicApiControllerBuilder
                .ForAll<IApplicationService>(typeof(TransitApplicationModule).Assembly, "app")
                .Build();

            Configuration.Modules.AbpWebApi().HttpConfiguration.Filters.Add(new HostAuthenticationFilter("Bearer"));
        }
    }

这是我的 AppService

 public class MeetingAppService : TransitAppServiceBase, IMeetingAppService
    {
        private readonly IMeetingManager _meetingManager;
        private readonly IRepository<Meeting.Meeting, Guid> _meetingRepository;
        public MeetingAppService (IMeetingManager meetingManager, IRepository<Meeting.Meeting, Guid> meetingRepository)
        {
            _meetingManager = meetingManager;
            _meetingRepository = meetingRepository;
        }
        public Task Cancel (EntityRequestInput<Guid> input)
        {
            throw new NotImplementedException();
        }

        public async Task Create (CreateMeetingInput input)
        {
            var meeting= Meeting.Meeting.Create(AbpSession.GetTenantId(), input.Subject, input.Title, input.Date, input.StartTime, input.EndTime, input.Secretary, input.Description, input.Agenda);
            await _meetingManager.CreateAsync(meeting);
        }

        public async Task<MeetingDetailOutput> GetDetail (EntityRequestInput<Guid> input)
        {
            var meeting = await _meetingRepository
                .GetAll()
                .Where(m => m.Id == input.Id)
                .FirstOrDefaultAsync();

            return meeting.MapTo<MeetingDetailOutput>();

        }

        public async Task<ListResultOutput<MeetingListDto>> GetList (GetMeetingListInput input)
        {
            var meetings = await _meetingRepository.GetAll()
                .WhereIf(!input.IncludeCanceledMeetings,m=>!m.IsCancelled)
                .ToListAsync();


            return new ListResultOutput<MeetingListDto>(meetings.MapTo<List<MeetingListDto>>());

        }
    }

当我想访问http://localhost:6634/api/services/app/meeting/Create 时,我收到错误 500 消息=发生错误。我找不到调试它的方法,我该如何调试?

4

2 回答 2

1

如果您在浏览器中粘贴此 url,那么您正在尝试使用 GET 请求访问 api 服务。ABP api 默认使用 POST 请求。

我建议您尝试使用Postman Chrome 扩展程序来调试 api。

于 2016-09-19T20:43:34.043 回答
-1

有时它不理解请求来自有效来源。

请在服务中尝试以下代码:

[AbpAuthorize]

public class MeetingAppService : TransitAppServiceBase, IMeetingAppService
于 2017-04-12T07:19:43.197 回答