folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Asp.Net Web API Hakkında Sorum



Asp.Net Web API Hakkında Sorum

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Diathorus
    Diathorus's avatar
    Kayıt Tarihi: 19/Mayıs/2014
    Erkek

    Selamlar,

    Web API öğrenmeye başladım. Çok garip bir problem yaşıyorum çıldırcam şimdi.

    Aşağıdaki gibi 1 tane ApiController' ım var. İçerisinde 2 tane array döndüren metodum var. Ne yaptıysam sadece GetAll metodu çalışıyor. Diğer metodu çağıramıyorum.

            [HttpGet]
            public List<Skill> GetAll()
            {
                return Skill.GetAll();
            }
    
            [HttpGet]
            public Skill Get(byte skillId)
            {
                return Skill.FindById(skillId);
            }

     

    WebApiConfig sınıfımda şu şekilde.

            public static void Register(HttpConfiguration config)
            {
                // Web API configuration and services
                config.Formatters.Remove(config.Formatters.XmlFormatter);
                config.Formatters.Add(config.Formatters.JsonFormatter);
    
                // Web API routes
                config.MapHttpAttributeRoutes();
    
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }

     

    Aşağıdaki linkleri denediğimde debug koyuyorum hep GetAll metoduna düşüyor.

    Örnek: /api/skill

               /api/skill/getall

               /api/skill/1

               /api/skill/get/1 => bunda 404 not found hatası alıyorum.

     

    Allah rızası için birisi yardım etsin, delircem :D

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek

    Birinci sorun yönlendirmede id adını kullanmışsın ancak metotta skillId.

    Bunu id olarak değiştir.

    İkinci sorun sanıyorum ki arzu ettiğin adresler /api/skill/getall ve /api/skill/get/123 gibi. Öyle ise WebApiConfig'deki routeTemplate'i aşağıdaki gibi değiştirmelisin.

    routeTemplate: "api/{controller}/{action}/{id}"


    anlıyorum.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Hocam ekstra olarak REST Api standartlarina bakmandada fayda var sonra sacma sapan web api/rest kullanimlari oluyor. Buda sana ekstra bilgi olur hakkiyla yazarsin api yi.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Diathorus
    Diathorus's avatar
    Kayıt Tarihi: 19/Mayıs/2014
    Erkek

    İlk önce cevaplar için teşekkürler.

    @buzukatak, dostum söylediğin gibi deneyeceğim.

    @TeRRoR, dostum araştıracağım, senin önerdiğin bir makale var ise okumak isterim.

Toplam Hit: 946 Toplam Mesaj: 4
asp.net web api