Location of application information and various interfaces

Thomas Sødring thomas.sodring at hioa.no
Thu Nov 17 08:05:10 CET 2016


Hi Petter,

Regarding the question you had on application information

noark5v4 is the contextPath of the application

http://127.0.0.1:8092/noark5v4/

Now, all Noark 5 instances are only need to support the interface from
the standard.

In that sense, it maybe makes sense to put the application information
at the level above, but I want to support other interfaces.

http://127.0.0.1:8092/noark5v4/hateoas-api
(The official interface)

http://127.0.0.1:8092/noark5v4/api
(a more traditional - non hateoas interface)

http://127.0.0.1:8092/noark5v4/import
(When importing, you don't want things like createdDate, set to 'now'.
Rather you want it set to the actual time it was created, as defined in
the import-file)

http://127.0.0.1:8092/noark5v4/gui
(In-built thymeleaf-based GUI. A core must support a GUI for basic
administration. But here I will put my interpretation of what the GUI
should look like)

So, maybe the application information should be under

http://127.0.0.1:8092/noark5v4/hateoas-api

to be more correct.

I honestly believe a Noark 5 Core will need more than the official
interface. Import functionality being one area that is not described in
the standard, and the import of historic material simply cannot be
undertaken via the standard interface. I think the Noark standard will
have to deal with this in the future anyway.

My normal api is something I wish to develop in parallel with the
hateoas interface. Partially from a research perspective as I think it
will be interesting to try and understand a HATEOAS interface as opposed
to a 'normal' interface. I am not really prioritising this interface,
but will try and keep it in sync with the hateoas one as I develop. They
will call the same functions in the service anyway.

Another reason I am doing this is the the official interface currently
requires updates the object level, even if you are only updating a
field.  So if you want to update a fonds object, you have to give it the
entire database row of information. I disagree with this approach. I
think if you need to update fonds.title, then you create a HTTP PATCH
request. This is more sensible from a *separation of concerns* point of
view.

So I created a controller for application metadata, but didn't get a
chance to test it. The location is off the contextPath for the application.

- Tom

On 11/15/2016 09:09 PM, Petter Reinholdtsen wrote:
>
> According to the API specification[1] point 6.1.1.2 "Finne objekter
> (Read)", the top level URL should return a JSON result with MIME type
> application/vnd.noark5-v4+json and a _links array with references.  I
> find this when I test against the dummy API available from
> <URL: http://n5test.kxml.no/api/ >, but is unsure what is the equvalent
> nikita URL.  Is it <URL: http://127.0.0.1:8092/noark5v4/ >?  IT is not
> giving the expected result and this make me believe I have the wrong
> URL.
>
>  [1] <URL:
https://samdokdotcom.files.wordpress.com/2016/10/noark5v4_tjenestegrensesnitt_1-0_beta-korr-17-10-2016-kf.pdf
>
>


More information about the nikita-noark mailing list