Interfaz HTTP basada en la operación Richardson Madurity Modelo Nivel de descanso -- rest camp Relacionados El problema

Operation based HTTP interface Richardson Maturity Model Level REST


0
vote

problema

Español

Si un servicio incluye URL para diferentes operaciones (verbos no sustantivos):

e.g.

  Http://aaa.com/api/clients/UpdateClient http://aaa.com/api/clients/RemoveClient http://aaa.com/api/messaging/SendMessage   

¿Se clasificaría esto como RMM NIVEL 0?

basado en ejemplos

  WARN [main] (OntDocumentManager.java:1078) - An error occurred while attempting to read from http://www.ucam.edu/ontologies/SakaiLanguageOnt. Msg was 'http://www.ucam.edu/ontologies/SakaiLanguageOnt'. com.hp.hpl.jena.shared.DoesNotExistException: http://www.ucam.edu/ontologies/SakaiLanguageOnt     at com.hp.hpl.jena.rdf.arp.JenaReader.read(JenaReader.java:89)     at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:187)     at com.hp.hpl.jena.util.FileManager.readModelWorker(FileManager.java:367)     at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:335)     at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:319)     at com.hp.hpl.jena.ontology.OntDocumentManager.read(OntDocumentManager.java:1064)     at com.hp.hpl.jena.ontology.OntDocumentManager$1.readModel(OntDocumentManager.java:1034)     at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.getModel(ModelMakerImpl.java:78)     at com.hp.hpl.jena.ontology.OntDocumentManager.fetchLoadedImportModel(OntDocumentManager.java:1031)     at com.hp.hpl.jena.ontology.OntDocumentManager.fetchPossiblyCachedImportModel(OntDocumentManager.java:1004)     at com.hp.hpl.jena.ontology.OntDocumentManager.loadImport(OntDocumentManager.java:977)     at com.hp.hpl.jena.ontology.OntDocumentManager.loadImports(OntDocumentManager.java:771)     at com.hp.hpl.jena.ontology.OntDocumentManager.loadImports(OntDocumentManager.java:709)     at com.hp.hpl.jena.ontology.impl.OntModelImpl.loadImports(OntModelImpl.java:1887)     at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2150)     at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:211)     at com.hp.hpl.jena.ontology.impl.OntModelImpl.readDelegate(OntModelImpl.java:3024)     at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2106)     at com.hp.hpl.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2022)     at OntoSakai.OntManager.loadOntModel(OntManager.java:86)     at OntoSakai.WSInterface.getTypes(WSInterface.java:6)     at OntoSakai.Main.main(Main.java:29) 0  

no parece que coincida con un nivel 0

Original en ingles

If a service includes URL's for different operations (verbs not nouns):

e.g.

Http://aaa.com/api/clients/UpdateClient http://aaa.com/api/clients/RemoveClient http://aaa.com/api/messaging/SendMessage 

Would this be classified as RMM level 0?

Based on examples

http://martinfowler.com/articles/richardsonMaturityModel.html 

It does not seem to match even Level 0

  

Lista de respuestas

0
 
vote

Dado que el modelo de vencimiento de Richardson se basa en el descanso, y las URL que proporciona no son tranquilas, no se clasifican como uno de los 4 niveles.

No es tranquilo poner un verbo en una URL. (Consulte http://www.restapitutorial.com/lessons/restfullresurcenaming.html ) < / p>

Los verbos HTTP que se mencionan en el enlace que publicó, publican, obtengan, etc. Los verbos HTTP no están relacionados con la URL real que operan.

Una versión relajante de http://aaa.com/api/clients/UpdateClient sería

  http://aaa.com/api/clients/:client_id   

UpdateClient se traduciría a

  PUT http://aaa.com/api/clients/1 HTTP/1.1   

Cuando se proporciona un nuevo recurso (actualizado), para reemplazar uno existente (cliente 1 en este caso)

eliminador se traduciría a

  DELETE http://aaa.com/api/clients/1 HTTP/1.1   

Eliminar y poner como se muestra aquí son los verbos HTTP que se discuten en el enlace que proporciona.

 

Given that the Richardson Maturity Model is based on REST, and the urls you provide are not RESTful, they don't classify as any one of the 4 levels.

It is not RESTful to put a verb in an url. (see http://www.restapitutorial.com/lessons/restfulresourcenaming.html)

The HTTP verbs that are mentioned in the link you posted are PUT, POST, GET, etc. HTTP verbs are not related to the actual url they operate on.

A RESTful version of http://aaa.com/api/clients/UpdateClient would be

http://aaa.com/api/clients/:client_id 

UpdateClient would translate to

PUT http://aaa.com/api/clients/1 HTTP/1.1 

Where a new (updated) resource is provided, to replace an existing one (client 1 in this case)

RemoveClient would translate to

DELETE http://aaa.com/api/clients/1 HTTP/1.1 

DELETE and PUT as shown here are the HTTP verbs that are discussed in the link you provide.

 
 
     
     

Relacionados problema

1  Rieles: ¿Los beneficios de usar el enrutamiento basado en recursos para crear controladores de descanso superan la complejidad adicional?  ( Rails do the benefits of using resource based routing to create restful control ) 
Estoy construyendo una aplicación web usando rieles y mi primer instinto fue hacer que todos los controladores sean tranquilos. En particular, estoy usando el...

167  Modificar la URL de la barra de direcciones en la aplicación AJAX para que coincida con el estado actual  ( Modify address bar url in ajax app to match current state ) 
Estoy escribiendo una aplicación AJAX, pero a medida que el usuario se mueve a través de la aplicación, me gustaría que la URL en la barra de direcciones se a...

3  ¿Puede Drupal Router Manija poner las solicitudes?  ( Can drupal router handle put requests ) 
Tengo un módulo que usará un poco de descanso y me gustaría saber si las manijas del enrutador del menú de Drupal ponen las solicitudes sin problemas ...? ...

5  Preparación de lotes en REST  ( Batching in rest ) 
Con los servicios web que se considera una buena práctica por lotes varias llamadas de servicio en un mensaje para reducir un número de llamadas remotas. ¿Hay...

10  Sesión inadvertida del secuestro de la sesión con autenticación tranquila  ( Inadvertent session hijacking issue with restful authentication ) 
Estoy usando la versión actual de Restful_Authentication que se encuentra en GitHub y estoy teniendo un montón de problemas de sesión extraños. El servidor pa...

6  Rails: ActiverEnource - ¿Puedo establecer la identificación explícitamente?  ( Rails activeresource can i set the id explicitly ) 
Estoy usando ActiveReSource en los rieles para administrar las entidades en una base de datos separada sobre el resto. He estado tratando de administrar exp...

0  No se pueden llamar a los métodos de servicios web restantes  ( Unable to call restful web services methods ) 
Estoy tratando de bucear en el mundo de los servicios web de descanso y ha comenzado con la siguiente plantilla: [ServiceContract] [AspNetCompatibilityRequ...

2  ¿Use casos para aplicaciones web API?  ( Use cases for web application api ) 
Hoy en día, muchas aplicaciones web están proporcionando API para que se usen otras aplicaciones. Soy nuevo en el uso de la API, así que quiero entender los...

1  No se pueden acceder a HTTP PUT DATOS EN EL CÓDIGO DE SERVICIDAD  ( Unable to access http put data in webservice code ) 
todos, Como parte de una aplicación que estoy escribiendo, necesito tener un servicio web http PUT, que acepte ingreso imageData, lo que se analizará, valid...

2  Cómo escribir la API de "Hello World" con Python y luego consumirlo  ( How to write hello world restful api using python and then consume it ) 
Soy totalmente nuevo en Python. ¿Alguien puede guiarme cómo escribir y luego consumir un simple api tranquilo "Hello World" en Python? ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos