This extension provides an Azure Functions app with Open API capability for better discoverability to consuming parties
Перейти к файлу
HongGeonUi 726d2f1d48
Add : Set NamingStrategy Type (#613)
* Feat : NamingStrategy 인터페이스 작성

* Feat : NamingStrategy 인스턴스 생성

* FEAT: Case 1 ~ 3 except for Enum option

* FEAT: NamingStrategy get method

* FEAT: get api namingstrategy in startup

* FEAT: NamingStrategy in Worker Extensions

* FEAT: Enum Case added

* Refactor : Get 메소드 수정

* feat: create enum type for naming strategy

* feat: add requirements 1~4 for new naming strategy

* feat: add NamingStrategy new instance by case

* feat: add OpenApiNamingStrategy setting

* refactor: rename methods

* refactor: add comments to resolve warning messages

* FEAT: Override Resolve function(NamingStrategy)

* FEAT: Apply FactoryMethod in NamingStrategy

* FEAT: Test case for Resolver(Naming Strategy)

* CHORE: override to overload(Resolve method)

* Refactor : 코드 병합

* Test : OpenApiHttpTriggerContextTests 수정

* Test : UnvalidType Test 추가

* test: add OpenApiConfigurationOptionsTests

* test: add DefaultOpenApiConfigurationOptionsTests

* refactor: Rename NamingStrategyType to OpenApiNamingStrategy

* Refactor : 오류제거

* Add : missing tests

* Fix : test typo

---------

Co-authored-by: songseungwoon <andrew960811@naver.com>
Co-authored-by: hhiyeon <hhyyeon0214@gmail.com>
Co-authored-by: SeungWoonSong <susong@student.42seoul.kr>
2023-09-19 21:10:51 +09:00
.devcontainer
.github
.vscode
actions
builds
docs
images
release-notes
samples
src
templates
test
test-integration
.editorconfig
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
Microsoft.Azure.WebJobs.Extensions.OpenApi.sln
README.md
SECURITY.md
Settings.StyleCop
global.json
key.snk

README.md

Azure Functions OpenAPI Extension

Out-of-Proc Worker In-Proc Worker

Acknowledgement

Getting Started

  • **Generic CI/CD Pipeline Support: This document shows how to generate the OpenAPI document within a CI/CD pipeline, using either PowerShell or bash shell script.

GitHub Actions Support

If you are using GitHub Actions as your preferred CI/CD pipeline, you can run the GitHub Action into your workflow to automatically generate the OpenAPI document. Find more details at the Build OpenAPI action page.

GitHub Codespaces Support

If you want to run your Azure Functions app on GitHub Codespaces, you might want to accommodate local.settings.json. The following PowerShell script may help you for the accommodation:

# Update local.settings.json
pwsh -c "Invoke-RestMethod https://aka.ms/azfunc-openapi/add-codespaces.ps1 | Invoke-Expression"

Sample Azure Function Apps with OpenAPI Document Enabled

Here are sample apps using the project references:

## Azure Functions V1 Support ##

This library supports Azure Functions V3 and onwards. If you still want to get your v1 and v2 runtime app supported, find the community contribution or the proxy feature.

Known Issues

Missing .dll Files

Due to the Azure Functions Runtime limitation, sometimes some of .dll files are removed while publishing the function app. In this case, try the following workaround with your function app .csproj file.

<Project Sdk="Microsoft.NET.Sdk">
  ...
  <PropertyGroup>
    ...
    <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
  </PropertyGroup>
  ...
</Project>

Empty Swagger UI When Deployed through Azure Pipelines

Swagger UI Error When Empty Project Referenced

Issues?

While using this library, if you find any issue, please raise an issue on the Issue page.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.