{"id":16416352,"url":"https://github.com/igapyon/simple-odata4","last_synced_at":"2025-02-24T11:18:50.229Z","repository":{"id":53706784,"uuid":"342777421","full_name":"igapyon/simple-odata4","owner":"igapyon","description":"Simple OData v4 server usage sample. (with Apache Olingo / Spring Boot / h2 database)","archived":false,"fork":false,"pushed_at":"2021-03-18T22:32:08.000Z","size":260,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"devel","last_synced_at":"2025-01-06T17:15:50.454Z","etag":null,"topics":["h2","java","odata","olingo","server","v4"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igapyon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-27T05:18:34.000Z","updated_at":"2023-05-09T05:50:34.000Z","dependencies_parsed_at":"2022-09-22T02:02:56.515Z","dependency_job_id":null,"html_url":"https://github.com/igapyon/simple-odata4","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fsimple-odata4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fsimple-odata4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fsimple-odata4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fsimple-odata4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igapyon","download_url":"https://codeload.github.com/igapyon/simple-odata4/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240466790,"owners_count":19805862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["h2","java","odata","olingo","server","v4"],"created_at":"2024-10-11T07:09:04.121Z","updated_at":"2025-02-24T11:18:50.200Z","avatar_url":"https://github.com/igapyon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simple-odata4\n\nこのリポジトリ(https://github.com/igapyon/simple-odata4) の内容は Oiyokanプロジェクト(https://github.com/igapyon/oiyokan) に昇級(promotion)しました。\n以降の更新は基本的に Oiyokan 側に適用する予定です。\n\n# oiyokan\n\nOiyokan is a simple OData v4 Server. (based on Apache Olingo / Spring Boot / h2 database)\n\n# Try to run oiyokan\n\n## Spring Boot Web Server\n\n```sh\nmvn clean install spring-boot:run\n```\n\n## Run query\n\n### $metadata\n\n```sh\nhttp://localhost:8080/odata4.svc/$metadata\n```\n\n### $orderby\n\n```sh\nhttp://localhost:8080/odata4.svc/MyProducts?$orderby=ID\u0026$top=20\u0026$count=true\n```\n\n### $filter\n\n```sh\nhttp://localhost:8080/odata4.svc/MyProducts?$top=2001\u0026$filter=Description eq 'MacBook Pro (13-inch, 2020, Thunderbolt 3ポートx 4)' and ID eq 1.0\u0026$count=true\u0026$select=ID,Name\n```\n\n### $search\n\n```sh\nhttp://localhost:8080/odata4.svc/MyProducts?$top=6\u0026$search=macbook\u0026$count=true\u0026$select=ID\n```\n\n### root\n\n```sh\nhttp://localhost:8080/odata4.svc/\n```\n\n### internal version\n\n```sh\nhttp://localhost:8080/odata4.svc/ODataAppInfos\n```\n\n# 中身を理解するために役立つ情報源\n\n## 最も大切な OData v4 server チュートリアル\n\n- https://olingo.apache.org/doc/odata4/index.html\n\n## 参考: 別バージョンながら役立つ OData 2情報\n\n- https://www.odata.org/documentation/odata-version-2-0/uri-conventions/\n\n## 参考: h2機能を調べる際に\n\n- http://www.h2database.com/html/functions.html\n\n# 作業メモ\n\n## TODO\n\n- PreparedStatementの入力の型対応に先立ち、引数の型バリエーションを追加。特に日付・日時絡みは調整が必要な見込み。\n- PreparedStatementの入力の型対応の追加.\n- 実行時エラーを調整すること。現在 IllegalArgumentExceptionでそのまま500になったうえにエラー内容が見えてしまう。ODataApplicationException に対応することが第一案.\n- 対応しない命令の場合、適切に例外で異常停止。ODataApplicationExceptionの利用を想定。\n- 認証の実験。\n- 実験的に全文検索である `$search` をサポートしたものの、もう少し詳しいところが調べられていない。また全文検索で有効なのはアルファベットのみ。h2 database でここを深掘りしても不毛か?\n- ($search対応の後続となるため、しばらく対応できない) TODO Null (nullable) の対応。現在はコメントアウト.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figapyon%2Fsimple-odata4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figapyon%2Fsimple-odata4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figapyon%2Fsimple-odata4/lists"}