0

再帰エンティティ検索にクエリを実行すると、次のエラーが発生します。aspnetboilerplate内部500再帰エンティティ検索でエラーが発生しました

エラー

{ "メッセージ": "エラーが発生しました。"、 "exceptionMessage": "APIコントローラアプリ/カテゴリに対して異なるHTTPで定義されたアクションGetCategoriesあり動詞の要求動詞はGETです。これはPostでなければなりません。例外タイプ:System.Web.HttpException、StackTrace: " 、String actionName)\ r \ n Abp.WebApi.Controllers.Dynamic.Selectors.AbpApiControllerActionSelector.SelectAction(HttpControllerContextControllerContext)\ r \ n Castle.Proxies.DynamicApiControllerでSystem.Web.Http.ApiController.ExecuteAsync(HttpControllerContextControllerContext、CancellationToken cancellationToken)\ r \ nを呼び出します。1Proxy_5.ExecuteAsync_callback(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n at Castle.Proxies.Invocations.ApiController_ExecuteAsync_5.InvokeMethodOnTarget()\r\n at Castle.DynamicProxy.AbstractInvocation.Proceed()\r\n at Abp.WebApi.Controllers.Dynamic.Interceptors.AbpDynamicApiControllerInterceptor 1.Intercept(IInvocation呼び出し)\ r \ n Castle.DynamicProxy.AbstractInvocation.Proceed()\ R \ nはCastle.Proxies.DynamicApiController`1Proxy_5.ExecuteAsyncで(HttpControllerContext controllerContext、CancellationToken cancellationToken)\ R \ N System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNextで() "}

ParentId

モデル

を追加した後にのみエラーが発生します
 [Table("Categories")] 
    public class Category : FullAuditedEntity 
    { 
     [Required] 
     public string Name { get; set; } 
     [Required] 
     public string SharepointMapping { get; set; } 
     public int? ParentId { get; set; } 
     public Category Parent { get; set; } 
     public List<Category> Children { get; set; } 
    } 

CategoryAppService

public ListResultDto<CategoryListDto> GetCategories(GetCategoriesInput input) 
    { 
    var categories = _categoryRepository 
     .GetAll() 
     .WhereIf(
      !input.Filter.IsNullOrEmpty(), 
      p => p.Name.Contains(input.Filter) 
     ) 
     .OrderBy(p => p.Name) 
     .ToList(); 

     return new ListResultDto<CategoryListDto>(categories.MapTo<List<CategoryListDto>>()); 
    } 

CategoryListDto

[AutoMapFrom(typeof(Category))] 
public class CategoryListDto : FullAuditedEntityDto 
{ 
    public string Name { get; set; } 
    public string SharepointMapping { get; set; } 
    public int? ParentId { get; set; } 
    public virtual Category Parent { get; set; }  
} 

答えて

1

すべてWEBAPIメソッドのデフォルトのhttp-動詞は、POSTです。 POSTでリクエストしてください。


このソリューションが嫌いなら、従来の動詞を使用できます。従来の動詞では、メソッド名の接頭辞を検索し、関連するhttp動詞と一致します。

  • GetCategories - > HTTP-GET
  • DeleteCategory - > HTTP-DELETE
  • UpdateCategory - > HTTP-PUT
  • CreateCategory - > HTTP-POST

あなたはWithConventionalVerbsメソッドを使用することができます次のようになります。

Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder 
    .ForAll<IApplicationService>(Assembly.GetAssembly(typeof(SimpleTaskSystemApplicationModule)), "tasksystem") 
    .WithConventionalVerbs() 
    .Build(); 

fu rther情報:

+0

解決策は、自己参照Json Errorである根本原因を見つけるのに役立つ問題の半分を修正しました。 –

関連する問題