Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme metadata

metadata

    23 août 2023 à 16:59:31

    Bonjour, 

    Sur un projet je doit mettre en place une API. Celle si vient alors chercher des métadonnées dans les fichiers temporaire de l'ordinateur. Probleme dans un autre projet en intégrant la meme api les métadonnées ne sont pas crée et je ne comprend pas le fonctionnement. ni de chemin ou autre qui ferais que tout se crée.

    Voici le fameux dossier d api :

    Voici le projet ou ca ne fonctionne pas. Le route est de base cherché dans les dossiers temporaire :

    J'ai essayé pas mal de chose sans avancer. Merci d'avance 

    -
    Edité par HELBOYS 23 août 2023 à 17:01:07

    • Partager sur Facebook
    • Partager sur Twitter
      23 août 2023 à 19:12:26

      Tu dis dans cas, chercher des métadonnées (donc lire ces metadonnées) et dans l'autre cas, tu cherches à créer des métadonnées, donc ce n'est pas la même choseµ.

      Les infos que tu donnes ne servent strictement à rien (en tout cas pour pouvoir t'aider).

      Il faudrait au moins le code de lecture des metadonnées et le code d'écriture de celles-ci avec éventuellement un exemple de metadonnées.

      • Partager sur Facebook
      • Partager sur Twitter
        24 août 2023 à 8:32:56

        bonjour voici un des controllers de l API pour commencer : 

        using System;
        using System.Collections.Generic;
        using System.Data;
        using System.Net;
        using System.Net.Http;
        using System.Web.Http;
        using System.Web.Http.Description;
        using System.Globalization;
        using System.Text;
        
        namespace blabla (c'est pas celui de base)
        {
            [Route("api/v1/Artdetails", Name = "Artdetails")]
        
            public class ArtdetailGroupeController : BaseController
            {
                List<String> testList = new List<string>();
        
        
                [HttpGet]
                [Route("api/v1/Artdetails")]
                [ResponseType(typeof(IEnumerable<ArtdetailGroupeSync>))]
                public HttpResponseMessage Get(String codart = "", String dateModif = "")
                {
                    TTracesinterfaces trace = InitTrace("GetArtdetails", Request);
        
                    HttpResponseMessage res = base.AuthentificationValidation();
                    if (res.StatusCode == HttpStatusCode.Unauthorized)
                        return res;
        
                    DateTime? d = null;
        
                    if (!string.IsNullOrEmpty(dateModif))
                    {
                        try
                        {
                            d = DateTime.ParseExact(dateModif, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                            }
                        catch
                        {
                            res.StatusCode = HttpStatusCode.NotAcceptable;
                            return res;
                        }
                    }
        
        
        
                    DataTable listArtdetail = GetAllArtdetail(codart, d);
        
                    List<ArtdetailGroupeSync> resList = ArtdetailGroupeSync.Convert(listArtdetail);
        
                    res = Functions.SetHTTPResponse(resList, Request, resList.Count == 0 ?  HttpStatusCode.NoContent : HttpStatusCode.OK);
        
                    EndTrace(trace, res.ToString() + res.Content.ReadAsStringAsync().Result.ToString(), resList.Count);
        
                    return res;
                }
        
                private DataTable GetAllArtdetail(String codart, DateTime? dateModif)
                {
                    StringBuilder str = new StringBuilder();
        
                    str.AppendLine("SELECT * FROM artdetail");
                    str.AppendLine(" WHERE 1=1");
                    if (codart != "")
                    {
        
                        str.AppendLine("AND ard_codart = '" + codart + "'");
                    }
        
                    if (dateModif != null)
                    {
                        str.AppendLine("AND ard_datemodif > '" + dateModif.Value.ToString("dd/MM/yyyy") + "'");
                    }
                    str.AppendLine(" ORDER BY ard_codart");
        
                    DataSet ds = staris.objetscommuns.datas.Functions.ExeChSQL(TS6000Context.Context.Connexion, str.ToString());
        
                    return ds.Tables[0];
                }
            }
        }

        et voici l exemple de metadata qu'il lis pour route 

        using System.Web.Http.Routing;
        
        namespace System.Web.Http
        {
        	//
        	// Résumé :
        	//     Emplacement sur une action pour l'exposer directement via un itinéraire.
        	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
        	public sealed class RouteAttribute : Attribute, IDirectRouteFactory, IHttpRouteInfoProvider
        	{
        		//
        		// Résumé :
        		//     Initialise une nouvelle instance de la classe System.Web.Http.RouteAttribute.
        		public RouteAttribute();
        		//
        		// Résumé :
        		//     Initialise une nouvelle instance de la classe System.Web.Http.RouteAttribute.
        		//
        		// Paramètres :
        		//   template:
        		//     Modèle d'itinéraire décrivant le modèle d'URI à rechercher.
        		public RouteAttribute(string template);
        
        		//
        		// Retourne :
        		//     Retourne System.String.
        		public string Name { get; set; }
        		//
        		// Retourne :
        		//     Retourne System.Int32.
        		public int Order { get; set; }
        		//
        		// Retourne :
        		//     Retourne System.String.
        		public string Template { get; }
        	}
        }

        HttpResponseMessage fonctionne de la meme facon aussi et d'autre partie du code. Je penser que en regenerant la solution il aller tout faire tout seul malheureusement non 


        -
        Edité par HELBOYS 24 août 2023 à 8:34:35

        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2023 à 12:20:19

          Dans le controller que tu nous montres, il n'y a que du get, de la lecture; il faut ne méthode pour écrire (ou poster) des données (si j'ai bien compris ce que tu veux faire)
          • Partager sur Facebook
          • Partager sur Twitter
            24 août 2023 à 15:08:21

            Je n'et rien de tout ca justement je comprend d'ou vienne les métadonnées et quand elle sont crée
            • Partager sur Facebook
            • Partager sur Twitter

            probleme metadata

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown