首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >backoffice宏返回404

backoffice宏返回404
EN

Stack Overflow用户
提问于 2022-11-15 10:02:01
回答 1查看 37关注 0票数 0

在加载宏时,我得到的url 404没有找到。

但当我进入控制台时

在与名称“produktlista”匹配的控制器'https://localhost:44351/umbraco/api/prisinformation/produktlista?typ=1&version=0'.No‘上没有找到与请求URI 'PrisInformation’相匹配的HTTP资源。

并且没有找到一个与请求URI 'https://localhost:44351/umbraco/api/prisinformation/produktlista?typ=0'.No操作匹配的HTTP资源--在控制器'PrisInformation‘上找到了与'produktlista’匹配的资源。

我试图调用的代码是这个。不,妈妈,我在调用宏时得到了这个错误。

代码语言:javascript
复制
public class PrisInformationController : UmbracoApiController
  {
    private ILoginService _userService;
    private MembershipHelper _membershipHelper;

    public PrisInformationController(MembershipHelper membershipHelper, ILoginService userService)
    {
        _userService = userService;
        _membershipHelper = membershipHelper;
    }

    public void Authorize()
    {
        if (!_membershipHelper.IsLoggedIn())
        {
            if (_userService.AddAndOrLoginMember())
            {
                return;
            }
        }

        throw new HttpException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Page not found").ToString());
    }

    [HttpGet, HttpPost]
    [Route("produktlista/{typ}")]
    public HttpResponseMessage Produktlista(int typ = 0, int version = 0)
    {
        Authorize();

        string result = string.Empty;
        string apiUrl = ConfigurationManager.AppSettings["ApiUrl"];
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiUrl + "/databoken/get/produktlista/" + typ + "/" + version);

            request.Method = WebRequestMethods.Http.Get;
            request.Accept = "application/json";
            var response = request.GetResponse();

            string s = string.Empty;

            using (var sr = new StreamReader(response.GetResponseStream()))
            {
                result = sr.ReadToEnd();
            }

        }
EN

回答 1

Stack Overflow用户

发布于 2022-11-15 14:43:00

我阅读它是因为Produktlista方法定义了一个路由,它要求您执行/umbraco/api/prisinformation/produktlista/1,其中1是typ,而不是?typ=1。不过,我可能完全错了,但可能会尝试删除自定义的路由定义,看看这是否有帮助?

https://our.umbraco.com/Documentation/Reference/Routing/Umbraco-API-Controllers/index-v8

另外,您可以将控制器更改为UmbracoAuthorizedApiController类型,这将为您进行后台检查。请注意,它将将标准路由改为/umbraco/backoffice/api/...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74443724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档