EPIC slug aggregator
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
Direzione di ricerca
Inizia tracciando i percorsi delle richieste documentati /v1/id/slug e /since/slug, quindi esamina la gestione di CREATE POST e degli aggiornamenti per l’header slug e la stringa di query ?slug=. Usa le regole indicate di normalizzazione, ownership, unicità, lunghezza e versioning come criteri di accettazione, inclusa la distinzione tra le ricerche per slug e per _id.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
We've got some light slug functionality, but we need it to work all the time. Here's what they do...
9.7. The Slug Header link
Slug is an HTTP entity-header whose presence in a POST to a Collection constitutes a request by the client to use the header’s value as part of any URIs that would normally be used to retrieve the to-be-created Entry or Media Resources.
Servers MAY use the value of the Slug header when creating the Member URI of the newly created Resource, for instance, by using some or all of the words in the value for the last URI segment.
In addition to the "get by _id" lookup for documents, a request like "https://store.rerum.io/v1/id/slug-life" should return the document matching { "__rerum.slug" : "slug-life" } in the repository.
An application suggests a slug by passing in a slug header in the CREATE POST or by adding a "?slug=" query string. If both exist, the header is used as the server will ignore query strings.
RERUM saves a new object with the __rerum.slug property and separate generated _id. RERUM responds with the normalized slug in the @id field of the response object.
In an update, a document owner can move the slug to a new version, prompting RERUM to update the __rerum.slug properties for both records.
API behaviors will be listed below as they may each interreact differently. Slug conditions in all cases are clear:
- Only one document can hold a slug at any time.
- Only the owner can move slug from one document to another.
- Slugs are entirely lowercase, with accented characters replaced by letters from the English alphabet and whitespace characters replaced by a dash or an underscore, in order to avoid being encoded. Punctuation marks are generally removed.
- This, That & the Other! Various Outré Considerations <= input
- this-that-the-other-various-outre-considerations <= stored slug
- Slugs are trimmed to 50 characters.
- A document may only have one slug assigned to it at a time.
- Slugs are helpful and efficient, but not a promise of durability, so the
_idmust be used in all versioning.- A "/since/slug" request with a slug is not idempotent, because the slug may have moved, but "since/_id" is.
- An "/id/slug" request may not always return the same document and may go 404, which a deleted document does not.
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 6
- Merge medio
- 3g 16h
- PR unite (30g)
- 6
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CenterForDigitalHumanities/rerum_server_nodejs
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
backend dependencies easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
CenterForDigitalHumanities/rerum_server_nodejs#290 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
Tutte le issue di CenterForDigitalHumanities/rerum_server_nodejs
Issue simili
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 78/100
jaegertracing/jaeger-ui#4512 ·
I maintainer di solito rispondono entro 1 giorno
-
feedback simulation workshop
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
githubnext/gh-aw-workshop#3857 ·
I maintainer di solito rispondono entro 2 giorni
-
area-clientside-dartpad
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
quarkusio/extensions#3432 ·
I maintainer di solito rispondono entro 1 giorno